@naviedu/room-platform-react 0.0.64 → 0.0.66
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/README.md +13 -0
- package/index.d.ts +1 -0
- package/index.esm.js +1250 -523
- package/package.json +5 -1
- package/room-control.d.ts +94 -0
- package/room-control.esm.js +438 -0
- package/styles.css +1 -0
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$
|
|
93
|
+
if (call && (_type_of$i(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$
|
|
105
|
+
function _type_of$i(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$
|
|
253
|
+
function _type_of$h(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$
|
|
258
|
+
if (!value || (typeof value === "undefined" ? "undefined" : _type_of$h(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$
|
|
266
|
+
function _type_of$g(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$
|
|
273
|
+
else if ("object" == (typeof e === "undefined" ? "undefined" : _type_of$g(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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
357
|
-
return _array_with_holes$
|
|
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$
|
|
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$
|
|
362
|
+
function _unsupported_iterable_to_array$E(o, minLen) {
|
|
363
363
|
if (!o) return;
|
|
364
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
5426
|
-
return _array_with_holes$
|
|
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$
|
|
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$
|
|
5431
|
+
function _unsupported_iterable_to_array$D(o, minLen) {
|
|
5432
5432
|
if (!o) return;
|
|
5433
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
6055
|
-
return _array_with_holes$
|
|
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$
|
|
6057
|
+
function _unsupported_iterable_to_array$C(o, minLen) {
|
|
6058
6058
|
if (!o) return;
|
|
6059
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
6748
|
+
function _type_of$f(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$
|
|
6759
|
+
if (!value || (typeof value === "undefined" ? "undefined" : _type_of$f(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$
|
|
6815
|
+
function _type_of$e(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$
|
|
6858
|
+
var isRecord$1 = function(value) {
|
|
6859
|
+
return (typeof value === "undefined" ? "undefined" : _type_of$e(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$
|
|
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$
|
|
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$
|
|
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$
|
|
7029
|
+
function _unsupported_iterable_to_array$B(o, minLen) {
|
|
7030
7030
|
if (!o) return;
|
|
7031
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
7195
|
+
function _unsupported_iterable_to_array$A(o, minLen) {
|
|
7196
7196
|
if (!o) return;
|
|
7197
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
7636
|
-
return _array_with_holes$
|
|
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$
|
|
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$
|
|
7641
|
+
function _type_of$d(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$
|
|
7645
|
+
function _unsupported_iterable_to_array$z(o, minLen) {
|
|
7646
7646
|
if (!o) return;
|
|
7647
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
7788
|
+
if ((typeof payload === "undefined" ? "undefined" : _type_of$d(payload)) !== 'object' || payload === null) return false;
|
|
7789
7789
|
var object = payload.object;
|
|
7790
|
-
if ((typeof object === "undefined" ? "undefined" : _type_of$
|
|
7790
|
+
if ((typeof object === "undefined" ? "undefined" : _type_of$d(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$
|
|
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$
|
|
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$
|
|
8021
|
+
return (typeof value === "undefined" ? "undefined" : _type_of$d(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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
8792
|
-
return _array_with_holes$
|
|
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$
|
|
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$
|
|
8797
|
+
function _unsupported_iterable_to_array$y(o, minLen) {
|
|
8798
8798
|
if (!o) return;
|
|
8799
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
8840
|
-
var _useState2 = _sliced_to_array$
|
|
8841
|
-
var _useState3 = _sliced_to_array$
|
|
8842
|
-
var _useState4 = _sliced_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
9340
|
-
return _array_with_holes$
|
|
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$
|
|
9342
|
+
function _unsupported_iterable_to_array$x(o, minLen) {
|
|
9343
9343
|
if (!o) return;
|
|
9344
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
9878
|
+
function _array_with_holes$t(arr) {
|
|
9879
9879
|
if (Array.isArray(arr)) return arr;
|
|
9880
9880
|
}
|
|
9881
|
-
function _iterable_to_array_limit$
|
|
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$
|
|
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$
|
|
9909
|
-
return _array_with_holes$
|
|
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$
|
|
9911
|
+
function _unsupported_iterable_to_array$w(o, minLen) {
|
|
9912
9912
|
if (!o) return;
|
|
9913
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
10113
|
-
return _array_with_holes$
|
|
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$
|
|
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$
|
|
10118
|
+
function _type_of$c(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$
|
|
10122
|
+
function _unsupported_iterable_to_array$v(o, minLen) {
|
|
10123
10123
|
if (!o) return;
|
|
10124
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
10262
|
-
var _useState3 = _sliced_to_array$
|
|
10263
|
-
var _useState4 = _sliced_to_array$
|
|
10264
|
-
var _useState5 = _sliced_to_array$
|
|
10265
|
-
var _useState6 = _sliced_to_array$
|
|
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$
|
|
10869
|
+
return (typeof value === "undefined" ? "undefined" : _type_of$c(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$
|
|
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$
|
|
10933
|
+
function _array_with_holes$r(arr) {
|
|
10915
10934
|
if (Array.isArray(arr)) return arr;
|
|
10916
10935
|
}
|
|
10917
|
-
function _iterable_to_array_limit$
|
|
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$
|
|
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$
|
|
10945
|
-
return _array_with_holes$
|
|
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$
|
|
10966
|
+
function _unsupported_iterable_to_array$u(o, minLen) {
|
|
10948
10967
|
if (!o) return;
|
|
10949
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
11257
|
-
return _array_with_holes$
|
|
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$
|
|
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$
|
|
11281
|
+
function _type_of$b(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$
|
|
11285
|
+
function _unsupported_iterable_to_array$t(o, minLen) {
|
|
11267
11286
|
if (!o) return;
|
|
11268
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
12706
|
+
return (typeof response === "undefined" ? "undefined" : _type_of$b(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$
|
|
12709
|
+
return (typeof response === "undefined" ? "undefined" : _type_of$b(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$
|
|
12715
|
+
return (typeof response === "undefined" ? "undefined" : _type_of$b(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$
|
|
12718
|
+
return (typeof response === "undefined" ? "undefined" : _type_of$b(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$
|
|
12721
|
+
return isAcceptedAuthUpdateAck(response) || (typeof response === "undefined" ? "undefined" : _type_of$b(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$
|
|
12729
|
+
return (typeof response === "undefined" ? "undefined" : _type_of$b(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$
|
|
12732
|
+
return (typeof response === "undefined" ? "undefined" : _type_of$b(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$
|
|
12741
|
+
if ((typeof response === "undefined" ? "undefined" : _type_of$b(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$
|
|
12805
|
+
if (_type_of$b(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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
12952
|
-
return _array_with_holes$
|
|
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$
|
|
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$
|
|
12976
|
+
function _unsupported_iterable_to_array$s(o, minLen) {
|
|
12958
12977
|
if (!o) return;
|
|
12959
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
13068
|
-
var _useState1 = _sliced_to_array$
|
|
13069
|
-
var _useState2 = _sliced_to_array$
|
|
13070
|
-
var _useState3 = _sliced_to_array$
|
|
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$
|
|
13077
|
-
var _useState5 = _sliced_to_array$
|
|
13078
|
-
var _useState6 = _sliced_to_array$
|
|
13079
|
-
var _useState7 = _sliced_to_array$
|
|
13080
|
-
var _useState8 = _sliced_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
13545
|
+
function _unsupported_iterable_to_array$r(o, minLen) {
|
|
13527
13546
|
if (!o) return;
|
|
13528
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
13815
|
+
if (call && (_type_of$a(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$
|
|
13794
|
-
return _array_with_holes$
|
|
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$
|
|
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$
|
|
13833
|
+
function _type_of$a(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$
|
|
13837
|
+
function _unsupported_iterable_to_array$q(o, minLen) {
|
|
13804
13838
|
if (!o) return;
|
|
13805
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
14080
|
+
if (body && (typeof body === "undefined" ? "undefined" : _type_of$a(body)) === 'object' && 'data' in body) return body.data;
|
|
14047
14081
|
return body;
|
|
14048
14082
|
};
|
|
14049
14083
|
var errorCodeOf = function(error) {
|
|
14050
|
-
if (_instanceof$
|
|
14051
|
-
if ((typeof error === "undefined" ? "undefined" : _type_of$
|
|
14084
|
+
if (_instanceof$4(error, RoomPlatformGatewayError)) return error.code;
|
|
14085
|
+
if ((typeof error === "undefined" ? "undefined" : _type_of$a(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$
|
|
14097
|
-
var _useState1 = _sliced_to_array$
|
|
14098
|
-
var _useState2 = _sliced_to_array$
|
|
14099
|
-
var _useState3 = _sliced_to_array$
|
|
14100
|
-
var _useState4 = _sliced_to_array$
|
|
14101
|
-
var _useState5 = _sliced_to_array$
|
|
14102
|
-
var _useState6 = _sliced_to_array$
|
|
14103
|
-
var _useState7 = _sliced_to_array$
|
|
14104
|
-
var _useState8 = _sliced_to_array$
|
|
14105
|
-
var _useState9 = _sliced_to_array$
|
|
14106
|
-
var _useState10 = _sliced_to_array$
|
|
14107
|
-
var _useState11 = _sliced_to_array$
|
|
14108
|
-
var _useState12 = _sliced_to_array$
|
|
14109
|
-
var _useState13 = _sliced_to_array$
|
|
14110
|
-
var _useState14 = _sliced_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
16356
|
+
connection.room.localParticipant.setScreenShareEnabled(false)
|
|
16319
16357
|
];
|
|
16320
16358
|
case 6:
|
|
16321
16359
|
_state.sent();
|
|
16322
16360
|
return [
|
|
16323
16361
|
3,
|
|
16324
|
-
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
16874
|
-
return _array_with_holes$
|
|
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$
|
|
16943
|
+
function _unsupported_iterable_to_array$p(o, minLen) {
|
|
16877
16944
|
if (!o) return;
|
|
16878
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
17038
|
-
var _useState1 = _sliced_to_array$
|
|
17039
|
-
var _useState2 = _sliced_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
17335
|
-
return _array_with_holes$
|
|
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$
|
|
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$
|
|
17407
|
+
function _type_of$9(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$
|
|
17411
|
+
function _unsupported_iterable_to_array$o(o, minLen) {
|
|
17345
17412
|
if (!o) return;
|
|
17346
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
17423
|
+
if (!parsed || (typeof parsed === "undefined" ? "undefined" : _type_of$9(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$
|
|
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$
|
|
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$
|
|
17511
|
+
function _array_with_holes$l(arr) {
|
|
17445
17512
|
if (Array.isArray(arr)) return arr;
|
|
17446
17513
|
}
|
|
17447
|
-
function _iterable_to_array_limit$
|
|
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$
|
|
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$
|
|
17475
|
-
return _array_with_holes$
|
|
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$
|
|
17544
|
+
function _unsupported_iterable_to_array$n(o, minLen) {
|
|
17478
17545
|
if (!o) return;
|
|
17479
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
17979
|
+
function _array_with_holes$k(arr) {
|
|
17913
17980
|
if (Array.isArray(arr)) return arr;
|
|
17914
17981
|
}
|
|
17915
|
-
function _instanceof$
|
|
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$
|
|
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$
|
|
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$
|
|
17950
|
-
return _array_with_holes$
|
|
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$
|
|
18019
|
+
function _unsupported_iterable_to_array$m(o, minLen) {
|
|
17953
18020
|
if (!o) return;
|
|
17954
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
17968
|
-
var _useState1 = _sliced_to_array$
|
|
17969
|
-
var _useState2 = _sliced_to_array$
|
|
17970
|
-
var _useState3 = _sliced_to_array$
|
|
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$
|
|
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$
|
|
18180
|
+
function _array_with_holes$j(arr) {
|
|
18114
18181
|
if (Array.isArray(arr)) return arr;
|
|
18115
18182
|
}
|
|
18116
|
-
function _iterable_to_array_limit$
|
|
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$
|
|
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$
|
|
18144
|
-
return _array_with_holes$
|
|
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$
|
|
18213
|
+
function _unsupported_iterable_to_array$l(o, minLen) {
|
|
18147
18214
|
if (!o) return;
|
|
18148
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
18178
|
-
var _useState1 = _sliced_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
18629
|
-
return _array_with_holes$
|
|
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$
|
|
18698
|
+
function _unsupported_iterable_to_array$k(o, minLen) {
|
|
18632
18699
|
if (!o) return;
|
|
18633
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
18794
|
-
var _useState1 = _sliced_to_array$
|
|
18795
|
-
var _useState2 = _sliced_to_array$
|
|
18796
|
-
var _useState3 = _sliced_to_array$
|
|
18797
|
-
var _useState4 = _sliced_to_array$
|
|
18798
|
-
var _useState5 = _sliced_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
19206
|
-
return _array_with_holes$
|
|
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$
|
|
19275
|
+
function _unsupported_iterable_to_array$j(o, minLen) {
|
|
19209
19276
|
if (!o) return;
|
|
19210
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
19365
|
-
var _useState1 = _sliced_to_array$
|
|
19366
|
-
var _useState2 = _sliced_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
19684
|
-
return _array_with_holes$
|
|
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$
|
|
19753
|
+
function _unsupported_iterable_to_array$i(o, minLen) {
|
|
19687
19754
|
if (!o) return;
|
|
19688
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
20137
|
+
function _array_with_holes$f(arr) {
|
|
20071
20138
|
if (Array.isArray(arr)) return arr;
|
|
20072
20139
|
}
|
|
20073
|
-
function _iterable_to_array_limit$
|
|
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$
|
|
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$
|
|
20101
|
-
return _array_with_holes$
|
|
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$
|
|
20170
|
+
function _unsupported_iterable_to_array$h(o, minLen) {
|
|
20104
20171
|
if (!o) return;
|
|
20105
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
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$
|
|
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$
|
|
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,13 @@ function useRoomPlatformMonitorViewer(param) {
|
|
|
20322
20389
|
]);
|
|
20323
20390
|
}
|
|
20324
20391
|
|
|
20325
|
-
function _array_like_to_array$
|
|
20392
|
+
function _array_like_to_array$g(arr, len) {
|
|
20326
20393
|
if (len == null || len > arr.length) len = arr.length;
|
|
20327
20394
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
20328
20395
|
return arr2;
|
|
20329
20396
|
}
|
|
20330
20397
|
function _array_without_holes$5(arr) {
|
|
20331
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
20398
|
+
if (Array.isArray(arr)) return _array_like_to_array$g(arr);
|
|
20332
20399
|
}
|
|
20333
20400
|
function asyncGeneratorStep$g(gen, resolve, reject, _next, _throw, key, arg) {
|
|
20334
20401
|
try {
|
|
@@ -20372,7 +20439,7 @@ function _define_property$d(obj, key, value) {
|
|
|
20372
20439
|
}
|
|
20373
20440
|
return obj;
|
|
20374
20441
|
}
|
|
20375
|
-
function _instanceof$
|
|
20442
|
+
function _instanceof$2(left, right) {
|
|
20376
20443
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
20377
20444
|
return !!right[Symbol.hasInstance](left);
|
|
20378
20445
|
} else {
|
|
@@ -20420,19 +20487,19 @@ function _object_spread_props$9(target, source) {
|
|
|
20420
20487
|
return target;
|
|
20421
20488
|
}
|
|
20422
20489
|
function _to_consumable_array$5(arr) {
|
|
20423
|
-
return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$
|
|
20490
|
+
return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$g(arr) || _non_iterable_spread$5();
|
|
20424
20491
|
}
|
|
20425
|
-
function _type_of$
|
|
20492
|
+
function _type_of$8(obj) {
|
|
20426
20493
|
"@swc/helpers - typeof";
|
|
20427
20494
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
20428
20495
|
}
|
|
20429
|
-
function _unsupported_iterable_to_array$
|
|
20496
|
+
function _unsupported_iterable_to_array$g(o, minLen) {
|
|
20430
20497
|
if (!o) return;
|
|
20431
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
20498
|
+
if (typeof o === "string") return _array_like_to_array$g(o, minLen);
|
|
20432
20499
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
20433
20500
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
20434
20501
|
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$
|
|
20502
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$g(o, minLen);
|
|
20436
20503
|
}
|
|
20437
20504
|
function _ts_generator$g(thisArg, body) {
|
|
20438
20505
|
var f, y, t, _ = {
|
|
@@ -20546,11 +20613,11 @@ var DEFAULT_ROOM_PLATFORM_CAMERA_BACKGROUND_SETTINGS = {
|
|
|
20546
20613
|
presetId: 'naviedu',
|
|
20547
20614
|
updatedAt: new Date(0).toISOString()
|
|
20548
20615
|
};
|
|
20549
|
-
var isObject = function(value) {
|
|
20550
|
-
return (typeof value === "undefined" ? "undefined" : _type_of$
|
|
20616
|
+
var isObject$1 = function(value) {
|
|
20617
|
+
return (typeof value === "undefined" ? "undefined" : _type_of$8(value)) === 'object' && value !== null && !Array.isArray(value);
|
|
20551
20618
|
};
|
|
20552
20619
|
var isBlob = function(value) {
|
|
20553
|
-
return typeof Blob !== 'undefined' && _instanceof$
|
|
20620
|
+
return typeof Blob !== 'undefined' && _instanceof$2(value, Blob);
|
|
20554
20621
|
};
|
|
20555
20622
|
var nowIso = function() {
|
|
20556
20623
|
return new Date().toISOString();
|
|
@@ -20706,7 +20773,7 @@ var readStoredUploadGallery = function() {
|
|
|
20706
20773
|
status: 'missing'
|
|
20707
20774
|
};
|
|
20708
20775
|
var parsed = JSON.parse(raw);
|
|
20709
|
-
return isObject(parsed) ? {
|
|
20776
|
+
return isObject$1(parsed) ? {
|
|
20710
20777
|
status: 'value',
|
|
20711
20778
|
value: parsed
|
|
20712
20779
|
} : {
|
|
@@ -20764,7 +20831,7 @@ var normalizeSettings = function(value) {
|
|
|
20764
20831
|
};
|
|
20765
20832
|
};
|
|
20766
20833
|
var normalizeUploadAsset = function(value) {
|
|
20767
|
-
if (!isObject(value)) return null;
|
|
20834
|
+
if (!isObject$1(value)) return null;
|
|
20768
20835
|
var storedAsset = value;
|
|
20769
20836
|
var id = typeof storedAsset.id === 'string' ? storedAsset.id : '';
|
|
20770
20837
|
var name = typeof storedAsset.name === 'string' ? storedAsset.name : '';
|
|
@@ -20788,7 +20855,7 @@ var loadRoomPlatformCameraBackgroundSettings = function() {
|
|
|
20788
20855
|
var raw = window.localStorage.getItem(SETTINGS_KEY);
|
|
20789
20856
|
if (!raw) return _object_spread$b({}, DEFAULT_ROOM_PLATFORM_CAMERA_BACKGROUND_SETTINGS);
|
|
20790
20857
|
var parsed = JSON.parse(raw);
|
|
20791
|
-
if (!isObject(parsed)) return _object_spread$b({}, DEFAULT_ROOM_PLATFORM_CAMERA_BACKGROUND_SETTINGS);
|
|
20858
|
+
if (!isObject$1(parsed)) return _object_spread$b({}, DEFAULT_ROOM_PLATFORM_CAMERA_BACKGROUND_SETTINGS);
|
|
20792
20859
|
return normalizeSettings(parsed);
|
|
20793
20860
|
} catch (unused) {
|
|
20794
20861
|
return _object_spread$b({}, DEFAULT_ROOM_PLATFORM_CAMERA_BACKGROUND_SETTINGS);
|
|
@@ -21250,12 +21317,12 @@ var saveRoomPlatformUploadAndSelect = function(file) {
|
|
|
21250
21317
|
})();
|
|
21251
21318
|
};
|
|
21252
21319
|
|
|
21253
|
-
function _array_like_to_array$
|
|
21320
|
+
function _array_like_to_array$f(arr, len) {
|
|
21254
21321
|
if (len == null || len > arr.length) len = arr.length;
|
|
21255
21322
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
21256
21323
|
return arr2;
|
|
21257
21324
|
}
|
|
21258
|
-
function _array_with_holes$
|
|
21325
|
+
function _array_with_holes$e(arr) {
|
|
21259
21326
|
if (Array.isArray(arr)) return arr;
|
|
21260
21327
|
}
|
|
21261
21328
|
function asyncGeneratorStep$f(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -21300,7 +21367,7 @@ function _define_property$c(obj, key, value) {
|
|
|
21300
21367
|
}
|
|
21301
21368
|
return obj;
|
|
21302
21369
|
}
|
|
21303
|
-
function _iterable_to_array_limit$
|
|
21370
|
+
function _iterable_to_array_limit$e(arr, i) {
|
|
21304
21371
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
21305
21372
|
if (_i == null) return;
|
|
21306
21373
|
var _arr = [];
|
|
@@ -21324,7 +21391,7 @@ function _iterable_to_array_limit$d(arr, i) {
|
|
|
21324
21391
|
}
|
|
21325
21392
|
return _arr;
|
|
21326
21393
|
}
|
|
21327
|
-
function _non_iterable_rest$
|
|
21394
|
+
function _non_iterable_rest$e() {
|
|
21328
21395
|
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
21396
|
}
|
|
21330
21397
|
function _object_spread$a(target) {
|
|
@@ -21361,16 +21428,16 @@ function _object_spread_props$8(target, source) {
|
|
|
21361
21428
|
}
|
|
21362
21429
|
return target;
|
|
21363
21430
|
}
|
|
21364
|
-
function _sliced_to_array$
|
|
21365
|
-
return _array_with_holes$
|
|
21431
|
+
function _sliced_to_array$e(arr, i) {
|
|
21432
|
+
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
21433
|
}
|
|
21367
|
-
function _unsupported_iterable_to_array$
|
|
21434
|
+
function _unsupported_iterable_to_array$f(o, minLen) {
|
|
21368
21435
|
if (!o) return;
|
|
21369
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
21436
|
+
if (typeof o === "string") return _array_like_to_array$f(o, minLen);
|
|
21370
21437
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
21371
21438
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
21372
21439
|
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$
|
|
21440
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$f(o, minLen);
|
|
21374
21441
|
}
|
|
21375
21442
|
function _ts_generator$f(thisArg, body) {
|
|
21376
21443
|
var f, y, t, _ = {
|
|
@@ -21493,7 +21560,7 @@ function useRoomPlatformCameraBackground(param) {
|
|
|
21493
21560
|
var _ref, _ref1;
|
|
21494
21561
|
var _uploadItems_find, _uploadItems_;
|
|
21495
21562
|
var isSupported = typeof window !== 'undefined' && supportsBackgroundProcessors();
|
|
21496
|
-
var _useState = _sliced_to_array$
|
|
21563
|
+
var _useState = _sliced_to_array$e(useState(function() {
|
|
21497
21564
|
var saved = loadRoomPlatformCameraBackgroundSettings();
|
|
21498
21565
|
return mapSettingsToState(saved, isSupported);
|
|
21499
21566
|
}), 2), state = _useState[0], setState = _useState[1];
|
|
@@ -21505,7 +21572,7 @@ function useRoomPlatformCameraBackground(param) {
|
|
|
21505
21572
|
var activeObjectUrlRef = useRef(null);
|
|
21506
21573
|
var uploadPreviewUrlsRef = useRef([]);
|
|
21507
21574
|
var lastAppliedKeyRef = useRef('');
|
|
21508
|
-
var _useState1 = _sliced_to_array$
|
|
21575
|
+
var _useState1 = _sliced_to_array$e(useState([]), 2), uploadItems = _useState1[0], setUploadItems = _useState1[1];
|
|
21509
21576
|
var clearActiveObjectUrl = useCallback(function() {
|
|
21510
21577
|
if (!activeObjectUrlRef.current) return;
|
|
21511
21578
|
URL.revokeObjectURL(activeObjectUrlRef.current);
|
|
@@ -22411,16 +22478,16 @@ function useRoomPlatformCameraBackground(param) {
|
|
|
22411
22478
|
};
|
|
22412
22479
|
}
|
|
22413
22480
|
|
|
22414
|
-
function _array_like_to_array$
|
|
22481
|
+
function _array_like_to_array$e(arr, len) {
|
|
22415
22482
|
if (len == null || len > arr.length) len = arr.length;
|
|
22416
22483
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
22417
22484
|
return arr2;
|
|
22418
22485
|
}
|
|
22419
|
-
function _array_with_holes$
|
|
22486
|
+
function _array_with_holes$d(arr) {
|
|
22420
22487
|
if (Array.isArray(arr)) return arr;
|
|
22421
22488
|
}
|
|
22422
22489
|
function _array_without_holes$4(arr) {
|
|
22423
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
22490
|
+
if (Array.isArray(arr)) return _array_like_to_array$e(arr);
|
|
22424
22491
|
}
|
|
22425
22492
|
function asyncGeneratorStep$e(gen, resolve, reject, _next, _throw, key, arg) {
|
|
22426
22493
|
try {
|
|
@@ -22454,7 +22521,7 @@ function _async_to_generator$e(fn) {
|
|
|
22454
22521
|
function _iterable_to_array$4(iter) {
|
|
22455
22522
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
22456
22523
|
}
|
|
22457
|
-
function _iterable_to_array_limit$
|
|
22524
|
+
function _iterable_to_array_limit$d(arr, i) {
|
|
22458
22525
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
22459
22526
|
if (_i == null) return;
|
|
22460
22527
|
var _arr = [];
|
|
@@ -22478,25 +22545,25 @@ function _iterable_to_array_limit$c(arr, i) {
|
|
|
22478
22545
|
}
|
|
22479
22546
|
return _arr;
|
|
22480
22547
|
}
|
|
22481
|
-
function _non_iterable_rest$
|
|
22548
|
+
function _non_iterable_rest$d() {
|
|
22482
22549
|
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
22550
|
}
|
|
22484
22551
|
function _non_iterable_spread$4() {
|
|
22485
22552
|
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
22553
|
}
|
|
22487
|
-
function _sliced_to_array$
|
|
22488
|
-
return _array_with_holes$
|
|
22554
|
+
function _sliced_to_array$d(arr, i) {
|
|
22555
|
+
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
22556
|
}
|
|
22490
22557
|
function _to_consumable_array$4(arr) {
|
|
22491
|
-
return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$
|
|
22558
|
+
return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$e(arr) || _non_iterable_spread$4();
|
|
22492
22559
|
}
|
|
22493
|
-
function _unsupported_iterable_to_array$
|
|
22560
|
+
function _unsupported_iterable_to_array$e(o, minLen) {
|
|
22494
22561
|
if (!o) return;
|
|
22495
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
22562
|
+
if (typeof o === "string") return _array_like_to_array$e(o, minLen);
|
|
22496
22563
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
22497
22564
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
22498
22565
|
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$
|
|
22566
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$e(o, minLen);
|
|
22500
22567
|
}
|
|
22501
22568
|
function _ts_generator$e(thisArg, body) {
|
|
22502
22569
|
var f, y, t, _ = {
|
|
@@ -22626,7 +22693,7 @@ function RoomPlatformPrivateRoomConnection(param) {
|
|
|
22626
22693
|
var canShareScreen = connection.permissions.includes('media:share_screen');
|
|
22627
22694
|
var canPublish = connection.permissions.includes('media:publish');
|
|
22628
22695
|
var baseScopeKey = isEligible ? "".concat(state.id, ":").concat(currentExternalActorId, ":").concat(scopeOf(connection)) : '';
|
|
22629
|
-
var _useState = _sliced_to_array$
|
|
22696
|
+
var _useState = _sliced_to_array$d(useState(null), 2), room = _useState[0], setRoom = _useState[1];
|
|
22630
22697
|
var roomRef = useRef(null);
|
|
22631
22698
|
var generationRef = useRef(0);
|
|
22632
22699
|
var scopeRef = useRef(undefined);
|
|
@@ -22634,7 +22701,7 @@ function RoomPlatformPrivateRoomConnection(param) {
|
|
|
22634
22701
|
var onDisconnectedRef = useRef(onDisconnected);
|
|
22635
22702
|
var refreshedTokenKeysRef = useRef(new Set());
|
|
22636
22703
|
var refreshRequestedScopeRef = useRef(undefined);
|
|
22637
|
-
var _useState1 = _sliced_to_array$
|
|
22704
|
+
var _useState1 = _sliced_to_array$d(useState(0), 2), generationNonce = _useState1[0], setGenerationNonce = _useState1[1];
|
|
22638
22705
|
var scopeKey = baseScopeKey ? "".concat(baseScopeKey, ":").concat(generationNonce) : '';
|
|
22639
22706
|
// A token refresh must not be a generation key. Pin the token to the scope so
|
|
22640
22707
|
// ordinary actor-scoped refetches keep the existing LiveKit Room instance.
|
|
@@ -22835,12 +22902,12 @@ function RoomPlatformPrivateRoomConnection(param) {
|
|
|
22835
22902
|
});
|
|
22836
22903
|
}
|
|
22837
22904
|
|
|
22838
|
-
function _array_like_to_array$
|
|
22905
|
+
function _array_like_to_array$d(arr, len) {
|
|
22839
22906
|
if (len == null || len > arr.length) len = arr.length;
|
|
22840
22907
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
22841
22908
|
return arr2;
|
|
22842
22909
|
}
|
|
22843
|
-
function _array_with_holes$
|
|
22910
|
+
function _array_with_holes$c(arr) {
|
|
22844
22911
|
if (Array.isArray(arr)) return arr;
|
|
22845
22912
|
}
|
|
22846
22913
|
function asyncGeneratorStep$d(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -22872,7 +22939,7 @@ function _async_to_generator$d(fn) {
|
|
|
22872
22939
|
});
|
|
22873
22940
|
};
|
|
22874
22941
|
}
|
|
22875
|
-
function _iterable_to_array_limit$
|
|
22942
|
+
function _iterable_to_array_limit$c(arr, i) {
|
|
22876
22943
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
22877
22944
|
if (_i == null) return;
|
|
22878
22945
|
var _arr = [];
|
|
@@ -22896,19 +22963,19 @@ function _iterable_to_array_limit$b(arr, i) {
|
|
|
22896
22963
|
}
|
|
22897
22964
|
return _arr;
|
|
22898
22965
|
}
|
|
22899
|
-
function _non_iterable_rest$
|
|
22966
|
+
function _non_iterable_rest$c() {
|
|
22900
22967
|
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
22968
|
}
|
|
22902
|
-
function _sliced_to_array$
|
|
22903
|
-
return _array_with_holes$
|
|
22969
|
+
function _sliced_to_array$c(arr, i) {
|
|
22970
|
+
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
22971
|
}
|
|
22905
|
-
function _unsupported_iterable_to_array$
|
|
22972
|
+
function _unsupported_iterable_to_array$d(o, minLen) {
|
|
22906
22973
|
if (!o) return;
|
|
22907
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
22974
|
+
if (typeof o === "string") return _array_like_to_array$d(o, minLen);
|
|
22908
22975
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
22909
22976
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
22910
22977
|
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$
|
|
22978
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
|
|
22912
22979
|
}
|
|
22913
22980
|
function _ts_generator$d(thisArg, body) {
|
|
22914
22981
|
var f, y, t, _ = {
|
|
@@ -23012,8 +23079,8 @@ function _ts_generator$d(thisArg, body) {
|
|
|
23012
23079
|
function useRoomPlatformPrivateRoomControlActions(param) {
|
|
23013
23080
|
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
23081
|
var roomPlatformToast = useRoomPlatformToast();
|
|
23015
|
-
var _useState = _sliced_to_array$
|
|
23016
|
-
var _useState1 = _sliced_to_array$
|
|
23082
|
+
var _useState = _sliced_to_array$c(useState(false), 2), isScreenSharePending = _useState[0], setIsScreenSharePending = _useState[1];
|
|
23083
|
+
var _useState1 = _sliced_to_array$c(useState(false), 2), isEnding = _useState1[0], setIsEnding = _useState1[1];
|
|
23017
23084
|
var isStartingRef = useRef(false);
|
|
23018
23085
|
var isStoppingRef = useRef(false);
|
|
23019
23086
|
var isEndingRef = useRef(false);
|
|
@@ -23217,12 +23284,12 @@ function useRoomPlatformPrivateRoomControlActions(param) {
|
|
|
23217
23284
|
};
|
|
23218
23285
|
}
|
|
23219
23286
|
|
|
23220
|
-
function _array_like_to_array$
|
|
23287
|
+
function _array_like_to_array$c(arr, len) {
|
|
23221
23288
|
if (len == null || len > arr.length) len = arr.length;
|
|
23222
23289
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
23223
23290
|
return arr2;
|
|
23224
23291
|
}
|
|
23225
|
-
function _array_with_holes$
|
|
23292
|
+
function _array_with_holes$b(arr) {
|
|
23226
23293
|
if (Array.isArray(arr)) return arr;
|
|
23227
23294
|
}
|
|
23228
23295
|
function asyncGeneratorStep$c(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -23267,7 +23334,7 @@ function _define_property$b(obj, key, value) {
|
|
|
23267
23334
|
}
|
|
23268
23335
|
return obj;
|
|
23269
23336
|
}
|
|
23270
|
-
function _iterable_to_array_limit$
|
|
23337
|
+
function _iterable_to_array_limit$b(arr, i) {
|
|
23271
23338
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
23272
23339
|
if (_i == null) return;
|
|
23273
23340
|
var _arr = [];
|
|
@@ -23291,7 +23358,7 @@ function _iterable_to_array_limit$a(arr, i) {
|
|
|
23291
23358
|
}
|
|
23292
23359
|
return _arr;
|
|
23293
23360
|
}
|
|
23294
|
-
function _non_iterable_rest$
|
|
23361
|
+
function _non_iterable_rest$b() {
|
|
23295
23362
|
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
23363
|
}
|
|
23297
23364
|
function _object_spread$9(target) {
|
|
@@ -23364,16 +23431,16 @@ function _object_without_properties_loose$2(source, excluded) {
|
|
|
23364
23431
|
}
|
|
23365
23432
|
return target;
|
|
23366
23433
|
}
|
|
23367
|
-
function _sliced_to_array$
|
|
23368
|
-
return _array_with_holes$
|
|
23434
|
+
function _sliced_to_array$b(arr, i) {
|
|
23435
|
+
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
23436
|
}
|
|
23370
|
-
function _unsupported_iterable_to_array$
|
|
23437
|
+
function _unsupported_iterable_to_array$c(o, minLen) {
|
|
23371
23438
|
if (!o) return;
|
|
23372
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
23439
|
+
if (typeof o === "string") return _array_like_to_array$c(o, minLen);
|
|
23373
23440
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
23374
23441
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
23375
23442
|
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$
|
|
23443
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
|
|
23377
23444
|
}
|
|
23378
23445
|
function _ts_generator$c(thisArg, body) {
|
|
23379
23446
|
var f, y, t, _ = {
|
|
@@ -23580,7 +23647,7 @@ var runAsyncSafely = function(action) {
|
|
|
23580
23647
|
function RoomPlatformPrivateRoomControlBar(param) {
|
|
23581
23648
|
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
23649
|
var room = useRoomContext();
|
|
23583
|
-
var _useState = _sliced_to_array$
|
|
23650
|
+
var _useState = _sliced_to_array$b(useState(false), 2), isScreenSharing = _useState[0], setIsScreenSharing = _useState[1];
|
|
23584
23651
|
var isScreenSharingRef = useRef(isScreenSharing);
|
|
23585
23652
|
var isScreenSharePendingRef = useRef(false);
|
|
23586
23653
|
var isNotifyingExternalStopRef = useRef(false);
|
|
@@ -24200,13 +24267,13 @@ var WebSocketRealtimeTransport = /*#__PURE__*/ function() {
|
|
|
24200
24267
|
return WebSocketRealtimeTransport;
|
|
24201
24268
|
}();
|
|
24202
24269
|
|
|
24203
|
-
function _array_like_to_array$
|
|
24270
|
+
function _array_like_to_array$b(arr, len) {
|
|
24204
24271
|
if (len == null || len > arr.length) len = arr.length;
|
|
24205
24272
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
24206
24273
|
return arr2;
|
|
24207
24274
|
}
|
|
24208
24275
|
function _array_without_holes$3(arr) {
|
|
24209
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
24276
|
+
if (Array.isArray(arr)) return _array_like_to_array$b(arr);
|
|
24210
24277
|
}
|
|
24211
24278
|
function _class_call_check$1(instance, Constructor) {
|
|
24212
24279
|
if (!(instance instanceof Constructor)) {
|
|
@@ -24246,15 +24313,15 @@ function _non_iterable_spread$3() {
|
|
|
24246
24313
|
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
24314
|
}
|
|
24248
24315
|
function _to_consumable_array$3(arr) {
|
|
24249
|
-
return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$
|
|
24316
|
+
return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$b(arr) || _non_iterable_spread$3();
|
|
24250
24317
|
}
|
|
24251
|
-
function _unsupported_iterable_to_array$
|
|
24318
|
+
function _unsupported_iterable_to_array$b(o, minLen) {
|
|
24252
24319
|
if (!o) return;
|
|
24253
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
24320
|
+
if (typeof o === "string") return _array_like_to_array$b(o, minLen);
|
|
24254
24321
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
24255
24322
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
24256
24323
|
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$
|
|
24324
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
|
|
24258
24325
|
}
|
|
24259
24326
|
var ChatClientState = /*#__PURE__*/ function() {
|
|
24260
24327
|
function ChatClientState() {
|
|
@@ -24388,7 +24455,7 @@ function _is_native_function(fn) {
|
|
|
24388
24455
|
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
24389
24456
|
}
|
|
24390
24457
|
function _possible_constructor_return(self, call) {
|
|
24391
|
-
if (call && (_type_of$
|
|
24458
|
+
if (call && (_type_of$7(call) === "object" || typeof call === "function")) {
|
|
24392
24459
|
return call;
|
|
24393
24460
|
}
|
|
24394
24461
|
return _assert_this_initialized(self);
|
|
@@ -24400,7 +24467,7 @@ function _set_prototype_of(o, p) {
|
|
|
24400
24467
|
};
|
|
24401
24468
|
return _set_prototype_of(o, p);
|
|
24402
24469
|
}
|
|
24403
|
-
function _type_of$
|
|
24470
|
+
function _type_of$7(obj) {
|
|
24404
24471
|
"@swc/helpers - typeof";
|
|
24405
24472
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
24406
24473
|
}
|
|
@@ -24544,7 +24611,7 @@ function _object_spread_props$5(target, source) {
|
|
|
24544
24611
|
}
|
|
24545
24612
|
return target;
|
|
24546
24613
|
}
|
|
24547
|
-
function _type_of$
|
|
24614
|
+
function _type_of$6(obj) {
|
|
24548
24615
|
"@swc/helpers - typeof";
|
|
24549
24616
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
24550
24617
|
}
|
|
@@ -24738,7 +24805,7 @@ var parseResponse = function(response) {
|
|
|
24738
24805
|
})();
|
|
24739
24806
|
};
|
|
24740
24807
|
var unwrapGatewayResponseBody = function(body) {
|
|
24741
|
-
if (!body || (typeof body === "undefined" ? "undefined" : _type_of$
|
|
24808
|
+
if (!body || (typeof body === "undefined" ? "undefined" : _type_of$6(body)) !== 'object') return body;
|
|
24742
24809
|
if (!Object.prototype.hasOwnProperty.call(body, 'data')) return body;
|
|
24743
24810
|
return body.data;
|
|
24744
24811
|
};
|
|
@@ -25031,7 +25098,7 @@ function _async_to_generator$8(fn) {
|
|
|
25031
25098
|
});
|
|
25032
25099
|
};
|
|
25033
25100
|
}
|
|
25034
|
-
function _type_of$
|
|
25101
|
+
function _type_of$5(obj) {
|
|
25035
25102
|
"@swc/helpers - typeof";
|
|
25036
25103
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
25037
25104
|
}
|
|
@@ -25388,7 +25455,7 @@ var createHistoryQuery = function(input) {
|
|
|
25388
25455
|
return query ? "?".concat(query) : '';
|
|
25389
25456
|
};
|
|
25390
25457
|
var isRoomEvent = function(event, roomId) {
|
|
25391
|
-
if (!event || (typeof event === "undefined" ? "undefined" : _type_of$
|
|
25458
|
+
if (!event || (typeof event === "undefined" ? "undefined" : _type_of$5(event)) !== 'object') return false;
|
|
25392
25459
|
if (!('roomId' in event)) return true;
|
|
25393
25460
|
return event.roomId === roomId;
|
|
25394
25461
|
};
|
|
@@ -25543,12 +25610,12 @@ function ForwardMessageDialog(param) {
|
|
|
25543
25610
|
});
|
|
25544
25611
|
}
|
|
25545
25612
|
|
|
25546
|
-
function _array_like_to_array$
|
|
25613
|
+
function _array_like_to_array$a(arr, len) {
|
|
25547
25614
|
if (len == null || len > arr.length) len = arr.length;
|
|
25548
25615
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
25549
25616
|
return arr2;
|
|
25550
25617
|
}
|
|
25551
|
-
function _array_with_holes$
|
|
25618
|
+
function _array_with_holes$a(arr) {
|
|
25552
25619
|
if (Array.isArray(arr)) return arr;
|
|
25553
25620
|
}
|
|
25554
25621
|
function asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -25580,7 +25647,7 @@ function _async_to_generator$7(fn) {
|
|
|
25580
25647
|
});
|
|
25581
25648
|
};
|
|
25582
25649
|
}
|
|
25583
|
-
function _iterable_to_array_limit$
|
|
25650
|
+
function _iterable_to_array_limit$a(arr, i) {
|
|
25584
25651
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
25585
25652
|
if (_i == null) return;
|
|
25586
25653
|
var _arr = [];
|
|
@@ -25604,19 +25671,19 @@ function _iterable_to_array_limit$9(arr, i) {
|
|
|
25604
25671
|
}
|
|
25605
25672
|
return _arr;
|
|
25606
25673
|
}
|
|
25607
|
-
function _non_iterable_rest$
|
|
25674
|
+
function _non_iterable_rest$a() {
|
|
25608
25675
|
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
25676
|
}
|
|
25610
|
-
function _sliced_to_array$
|
|
25611
|
-
return _array_with_holes$
|
|
25677
|
+
function _sliced_to_array$a(arr, i) {
|
|
25678
|
+
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
25679
|
}
|
|
25613
|
-
function _unsupported_iterable_to_array$
|
|
25680
|
+
function _unsupported_iterable_to_array$a(o, minLen) {
|
|
25614
25681
|
if (!o) return;
|
|
25615
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
25682
|
+
if (typeof o === "string") return _array_like_to_array$a(o, minLen);
|
|
25616
25683
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
25617
25684
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
25618
25685
|
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$
|
|
25686
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
|
|
25620
25687
|
}
|
|
25621
25688
|
function _ts_generator$7(thisArg, body) {
|
|
25622
25689
|
var f, y, t, _ = {
|
|
@@ -25719,7 +25786,7 @@ function _ts_generator$7(thisArg, body) {
|
|
|
25719
25786
|
}
|
|
25720
25787
|
function MessageComposer(param) {
|
|
25721
25788
|
var canSend = param.canSend, className = param.className, onSend = param.onSend;
|
|
25722
|
-
var _useState = _sliced_to_array$
|
|
25789
|
+
var _useState = _sliced_to_array$a(useState(''), 2), text = _useState[0], setText = _useState[1];
|
|
25723
25790
|
if (!canSend) {
|
|
25724
25791
|
return /*#__PURE__*/ jsx("div", {
|
|
25725
25792
|
className: cx('navi-chat__readonly', className),
|
|
@@ -25835,16 +25902,16 @@ function MessageComposer(param) {
|
|
|
25835
25902
|
});
|
|
25836
25903
|
}
|
|
25837
25904
|
|
|
25838
|
-
function _array_like_to_array$
|
|
25905
|
+
function _array_like_to_array$9(arr, len) {
|
|
25839
25906
|
if (len == null || len > arr.length) len = arr.length;
|
|
25840
25907
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
25841
25908
|
return arr2;
|
|
25842
25909
|
}
|
|
25843
|
-
function _array_with_holes$
|
|
25910
|
+
function _array_with_holes$9(arr) {
|
|
25844
25911
|
if (Array.isArray(arr)) return arr;
|
|
25845
25912
|
}
|
|
25846
25913
|
function _array_without_holes$2(arr) {
|
|
25847
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
25914
|
+
if (Array.isArray(arr)) return _array_like_to_array$9(arr);
|
|
25848
25915
|
}
|
|
25849
25916
|
function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
|
|
25850
25917
|
try {
|
|
@@ -25875,7 +25942,7 @@ function _async_to_generator$6(fn) {
|
|
|
25875
25942
|
});
|
|
25876
25943
|
};
|
|
25877
25944
|
}
|
|
25878
|
-
function _instanceof(left, right) {
|
|
25945
|
+
function _instanceof$1(left, right) {
|
|
25879
25946
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
25880
25947
|
return !!right[Symbol.hasInstance](left);
|
|
25881
25948
|
} else {
|
|
@@ -25885,7 +25952,7 @@ function _instanceof(left, right) {
|
|
|
25885
25952
|
function _iterable_to_array$2(iter) {
|
|
25886
25953
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
25887
25954
|
}
|
|
25888
|
-
function _iterable_to_array_limit$
|
|
25955
|
+
function _iterable_to_array_limit$9(arr, i) {
|
|
25889
25956
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
25890
25957
|
if (_i == null) return;
|
|
25891
25958
|
var _arr = [];
|
|
@@ -25909,25 +25976,25 @@ function _iterable_to_array_limit$8(arr, i) {
|
|
|
25909
25976
|
}
|
|
25910
25977
|
return _arr;
|
|
25911
25978
|
}
|
|
25912
|
-
function _non_iterable_rest$
|
|
25979
|
+
function _non_iterable_rest$9() {
|
|
25913
25980
|
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
25981
|
}
|
|
25915
25982
|
function _non_iterable_spread$2() {
|
|
25916
25983
|
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
25984
|
}
|
|
25918
|
-
function _sliced_to_array$
|
|
25919
|
-
return _array_with_holes$
|
|
25985
|
+
function _sliced_to_array$9(arr, i) {
|
|
25986
|
+
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
25987
|
}
|
|
25921
25988
|
function _to_consumable_array$2(arr) {
|
|
25922
|
-
return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$
|
|
25989
|
+
return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$9(arr) || _non_iterable_spread$2();
|
|
25923
25990
|
}
|
|
25924
|
-
function _unsupported_iterable_to_array$
|
|
25991
|
+
function _unsupported_iterable_to_array$9(o, minLen) {
|
|
25925
25992
|
if (!o) return;
|
|
25926
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
25993
|
+
if (typeof o === "string") return _array_like_to_array$9(o, minLen);
|
|
25927
25994
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
25928
25995
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
25929
25996
|
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$
|
|
25997
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
|
|
25931
25998
|
}
|
|
25932
25999
|
function _ts_generator$6(thisArg, body) {
|
|
25933
26000
|
var f, y, t, _ = {
|
|
@@ -26036,15 +26103,15 @@ function MessageList(param) {
|
|
|
26036
26103
|
var restoreScrollSnapshotRef = useRef(undefined);
|
|
26037
26104
|
var previousMessageCountRef = useRef(messages.length);
|
|
26038
26105
|
var previousMessagesRef = useRef(messages);
|
|
26039
|
-
var _useState = _sliced_to_array$
|
|
26040
|
-
var _useState1 = _sliced_to_array$
|
|
26041
|
-
var _useState2 = _sliced_to_array$
|
|
26106
|
+
var _useState = _sliced_to_array$9(useState(''), 2), draftText = _useState[0], setDraftText = _useState[1];
|
|
26107
|
+
var _useState1 = _sliced_to_array$9(useState(), 2), editingMessageId = _useState1[0], setEditingMessageId = _useState1[1];
|
|
26108
|
+
var _useState2 = _sliced_to_array$9(useState(), 2), openMenuMessageId = _useState2[0], setOpenMenuMessageId = _useState2[1];
|
|
26042
26109
|
var openMenuRef = useRef(null);
|
|
26043
|
-
var _useState3 = _sliced_to_array$
|
|
26110
|
+
var _useState3 = _sliced_to_array$9(useState(function() {
|
|
26044
26111
|
return now().getTime();
|
|
26045
26112
|
}), 2), currentTimeMs = _useState3[0], setCurrentTimeMs = _useState3[1];
|
|
26046
|
-
var _useState4 = _sliced_to_array$
|
|
26047
|
-
var _useState5 = _sliced_to_array$
|
|
26113
|
+
var _useState4 = _sliced_to_array$9(useState(true), 2), isAtLatest = _useState4[0], setIsAtLatest = _useState4[1];
|
|
26114
|
+
var _useState5 = _sliced_to_array$9(useState(false), 2), hasNewMessages = _useState5[0], setHasNewMessages = _useState5[1];
|
|
26048
26115
|
var orderedMessages = useMemo(function() {
|
|
26049
26116
|
return _to_consumable_array$2(messages).sort(compareMessagesByCreatedAt);
|
|
26050
26117
|
}, [
|
|
@@ -26108,7 +26175,7 @@ function MessageList(param) {
|
|
|
26108
26175
|
var handlePointerDown = function(event) {
|
|
26109
26176
|
var target = event.target;
|
|
26110
26177
|
var openMenu = openMenuRef.current;
|
|
26111
|
-
if (openMenu && (event.composedPath().includes(openMenu) || _instanceof(target, Node) && openMenu.contains(target))) {
|
|
26178
|
+
if (openMenu && (event.composedPath().includes(openMenu) || _instanceof$1(target, Node) && openMenu.contains(target))) {
|
|
26112
26179
|
return;
|
|
26113
26180
|
}
|
|
26114
26181
|
setOpenMenuMessageId(undefined);
|
|
@@ -26469,12 +26536,12 @@ var formatTime = function(value) {
|
|
|
26469
26536
|
}).format(new Date(value));
|
|
26470
26537
|
};
|
|
26471
26538
|
|
|
26472
|
-
function _array_like_to_array$
|
|
26539
|
+
function _array_like_to_array$8(arr, len) {
|
|
26473
26540
|
if (len == null || len > arr.length) len = arr.length;
|
|
26474
26541
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
26475
26542
|
return arr2;
|
|
26476
26543
|
}
|
|
26477
|
-
function _array_with_holes$
|
|
26544
|
+
function _array_with_holes$8(arr) {
|
|
26478
26545
|
if (Array.isArray(arr)) return arr;
|
|
26479
26546
|
}
|
|
26480
26547
|
function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -26506,7 +26573,7 @@ function _async_to_generator$5(fn) {
|
|
|
26506
26573
|
});
|
|
26507
26574
|
};
|
|
26508
26575
|
}
|
|
26509
|
-
function _iterable_to_array_limit$
|
|
26576
|
+
function _iterable_to_array_limit$8(arr, i) {
|
|
26510
26577
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
26511
26578
|
if (_i == null) return;
|
|
26512
26579
|
var _arr = [];
|
|
@@ -26530,19 +26597,19 @@ function _iterable_to_array_limit$7(arr, i) {
|
|
|
26530
26597
|
}
|
|
26531
26598
|
return _arr;
|
|
26532
26599
|
}
|
|
26533
|
-
function _non_iterable_rest$
|
|
26600
|
+
function _non_iterable_rest$8() {
|
|
26534
26601
|
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
26602
|
}
|
|
26536
|
-
function _sliced_to_array$
|
|
26537
|
-
return _array_with_holes$
|
|
26603
|
+
function _sliced_to_array$8(arr, i) {
|
|
26604
|
+
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
26605
|
}
|
|
26539
|
-
function _unsupported_iterable_to_array$
|
|
26606
|
+
function _unsupported_iterable_to_array$8(o, minLen) {
|
|
26540
26607
|
if (!o) return;
|
|
26541
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
26608
|
+
if (typeof o === "string") return _array_like_to_array$8(o, minLen);
|
|
26542
26609
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
26543
26610
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
26544
26611
|
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$
|
|
26612
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
|
|
26546
26613
|
}
|
|
26547
26614
|
function _ts_generator$5(thisArg, body) {
|
|
26548
26615
|
var f, y, t, _ = {
|
|
@@ -26647,7 +26714,7 @@ function ChatPanel(param) {
|
|
|
26647
26714
|
var className = param.className;
|
|
26648
26715
|
var _messagesByRoom_activeRoom_roomId, _ref, _ref1, _ref2;
|
|
26649
26716
|
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$
|
|
26717
|
+
var _useState = _sliced_to_array$8(useState(), 2), forwardingMessage = _useState[0], setForwardingMessage = _useState[1];
|
|
26651
26718
|
var activeRoom = findActiveRoom(rooms, activeRoomId);
|
|
26652
26719
|
var canRead = hasRoomPermission(activeRoom, 'read');
|
|
26653
26720
|
var canSend = hasRoomPermission(activeRoom, 'send');
|
|
@@ -26790,16 +26857,16 @@ var getRoomDisplayRole = function(room) {
|
|
|
26790
26857
|
return hasRoomPermission(room, 'forward') ? 'Quản trị' : 'Thành viên';
|
|
26791
26858
|
};
|
|
26792
26859
|
|
|
26793
|
-
function _array_like_to_array$
|
|
26860
|
+
function _array_like_to_array$7(arr, len) {
|
|
26794
26861
|
if (len == null || len > arr.length) len = arr.length;
|
|
26795
26862
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
26796
26863
|
return arr2;
|
|
26797
26864
|
}
|
|
26798
|
-
function _array_with_holes$
|
|
26865
|
+
function _array_with_holes$7(arr) {
|
|
26799
26866
|
if (Array.isArray(arr)) return arr;
|
|
26800
26867
|
}
|
|
26801
26868
|
function _array_without_holes$1(arr) {
|
|
26802
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
26869
|
+
if (Array.isArray(arr)) return _array_like_to_array$7(arr);
|
|
26803
26870
|
}
|
|
26804
26871
|
function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
|
|
26805
26872
|
try {
|
|
@@ -26846,7 +26913,7 @@ function _define_property$6(obj, key, value) {
|
|
|
26846
26913
|
function _iterable_to_array$1(iter) {
|
|
26847
26914
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
26848
26915
|
}
|
|
26849
|
-
function _iterable_to_array_limit$
|
|
26916
|
+
function _iterable_to_array_limit$7(arr, i) {
|
|
26850
26917
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
26851
26918
|
if (_i == null) return;
|
|
26852
26919
|
var _arr = [];
|
|
@@ -26870,7 +26937,7 @@ function _iterable_to_array_limit$6(arr, i) {
|
|
|
26870
26937
|
}
|
|
26871
26938
|
return _arr;
|
|
26872
26939
|
}
|
|
26873
|
-
function _non_iterable_rest$
|
|
26940
|
+
function _non_iterable_rest$7() {
|
|
26874
26941
|
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
26942
|
}
|
|
26876
26943
|
function _non_iterable_spread$1() {
|
|
@@ -26910,23 +26977,23 @@ function _object_spread_props$4(target, source) {
|
|
|
26910
26977
|
}
|
|
26911
26978
|
return target;
|
|
26912
26979
|
}
|
|
26913
|
-
function _sliced_to_array$
|
|
26914
|
-
return _array_with_holes$
|
|
26980
|
+
function _sliced_to_array$7(arr, i) {
|
|
26981
|
+
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
26982
|
}
|
|
26916
26983
|
function _to_consumable_array$1(arr) {
|
|
26917
|
-
return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$
|
|
26984
|
+
return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$7(arr) || _non_iterable_spread$1();
|
|
26918
26985
|
}
|
|
26919
|
-
function _type_of(obj) {
|
|
26986
|
+
function _type_of$4(obj) {
|
|
26920
26987
|
"@swc/helpers - typeof";
|
|
26921
26988
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
26922
26989
|
}
|
|
26923
|
-
function _unsupported_iterable_to_array$
|
|
26990
|
+
function _unsupported_iterable_to_array$7(o, minLen) {
|
|
26924
26991
|
if (!o) return;
|
|
26925
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
26992
|
+
if (typeof o === "string") return _array_like_to_array$7(o, minLen);
|
|
26926
26993
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
26927
26994
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
26928
26995
|
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$
|
|
26996
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
|
|
26930
26997
|
}
|
|
26931
26998
|
function _ts_generator$4(thisArg, body) {
|
|
26932
26999
|
var f, y, t, _ = {
|
|
@@ -27034,15 +27101,15 @@ function ChatProvider(param) {
|
|
|
27034
27101
|
return new Date();
|
|
27035
27102
|
} : _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
27103
|
var _rooms_;
|
|
27037
|
-
var _useState = _sliced_to_array$
|
|
27038
|
-
var _useState1 = _sliced_to_array$
|
|
27039
|
-
var _useState2 = _sliced_to_array$
|
|
27040
|
-
var _useState3 = _sliced_to_array$
|
|
27041
|
-
var _useState4 = _sliced_to_array$
|
|
27042
|
-
var _useState5 = _sliced_to_array$
|
|
27043
|
-
var _useState6 = _sliced_to_array$
|
|
27044
|
-
var _useState7 = _sliced_to_array$
|
|
27045
|
-
var _useState8 = _sliced_to_array$
|
|
27104
|
+
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];
|
|
27105
|
+
var _useState1 = _sliced_to_array$7(useState({}), 2), hasMoreByRoom = _useState1[0], setHasMoreByRoom = _useState1[1];
|
|
27106
|
+
var _useState2 = _sliced_to_array$7(useState({}), 2), historyCursorsByRoom = _useState2[0], setHistoryCursorsByRoom = _useState2[1];
|
|
27107
|
+
var _useState3 = _sliced_to_array$7(useState({}), 2), isLoadingOlderByRoom = _useState3[0], setIsLoadingOlderByRoom = _useState3[1];
|
|
27108
|
+
var _useState4 = _sliced_to_array$7(useState(initialMessages), 2), messagesByRoom = _useState4[0], setMessagesByRoom = _useState4[1];
|
|
27109
|
+
var _useState5 = _sliced_to_array$7(useState({}), 2), onlineCountsByRoom = _useState5[0], setOnlineCountsByRoom = _useState5[1];
|
|
27110
|
+
var _useState6 = _sliced_to_array$7(useState({}), 2), roomLatestStateByRoom = _useState6[0], setRoomLatestStateByRoom = _useState6[1];
|
|
27111
|
+
var _useState7 = _sliced_to_array$7(useState('connecting'), 2), status = _useState7[0], setStatus = _useState7[1];
|
|
27112
|
+
var _useState8 = _sliced_to_array$7(useState({}), 2), unreadCountsByRoom = _useState8[0], setUnreadCountsByRoom = _useState8[1];
|
|
27046
27113
|
var currentSubject = useMemo(function() {
|
|
27047
27114
|
return subjectFromToken(token);
|
|
27048
27115
|
}, [
|
|
@@ -27463,13 +27530,13 @@ var isRoomActivelyRead = function(roomId, state) {
|
|
|
27463
27530
|
return state.isVisible && state.activeRoomId === roomId && state.roomLatestStateByRoom[roomId] !== false;
|
|
27464
27531
|
};
|
|
27465
27532
|
var isChatMessageDto = function(event) {
|
|
27466
|
-
return Boolean(event && (typeof event === "undefined" ? "undefined" : _type_of(event)) === 'object' && 'id' in event && 'roomId' in event && 'authorSubject' in event && 'text' in event && 'createdAt' in event);
|
|
27533
|
+
return Boolean(event && (typeof event === "undefined" ? "undefined" : _type_of$4(event)) === 'object' && 'id' in event && 'roomId' in event && 'authorSubject' in event && 'text' in event && 'createdAt' in event);
|
|
27467
27534
|
};
|
|
27468
27535
|
var isChatRoomPresenceDto = function(event) {
|
|
27469
|
-
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');
|
|
27536
|
+
return Boolean(event && (typeof event === "undefined" ? "undefined" : _type_of$4(event)) === 'object' && 'roomId' in event && typeof event.roomId === 'string' && 'onlineCount' in event && typeof event.onlineCount === 'number');
|
|
27470
27537
|
};
|
|
27471
27538
|
var subjectFromToken = function(token) {
|
|
27472
|
-
var _token_split = _sliced_to_array$
|
|
27539
|
+
var _token_split = _sliced_to_array$7(token.split('.'), 2), payload = _token_split[1];
|
|
27473
27540
|
if (!payload) return undefined;
|
|
27474
27541
|
try {
|
|
27475
27542
|
var normalized = payload.replace(/-/g, '+').replace(/_/g, '/');
|
|
@@ -27481,12 +27548,12 @@ var subjectFromToken = function(token) {
|
|
|
27481
27548
|
}
|
|
27482
27549
|
};
|
|
27483
27550
|
|
|
27484
|
-
function _array_like_to_array$
|
|
27551
|
+
function _array_like_to_array$6(arr, len) {
|
|
27485
27552
|
if (len == null || len > arr.length) len = arr.length;
|
|
27486
27553
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
27487
27554
|
return arr2;
|
|
27488
27555
|
}
|
|
27489
|
-
function _array_with_holes$
|
|
27556
|
+
function _array_with_holes$6(arr) {
|
|
27490
27557
|
if (Array.isArray(arr)) return arr;
|
|
27491
27558
|
}
|
|
27492
27559
|
function _define_property$5(obj, key, value) {
|
|
@@ -27502,7 +27569,7 @@ function _define_property$5(obj, key, value) {
|
|
|
27502
27569
|
}
|
|
27503
27570
|
return obj;
|
|
27504
27571
|
}
|
|
27505
|
-
function _iterable_to_array_limit$
|
|
27572
|
+
function _iterable_to_array_limit$6(arr, i) {
|
|
27506
27573
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
27507
27574
|
if (_i == null) return;
|
|
27508
27575
|
var _arr = [];
|
|
@@ -27526,7 +27593,7 @@ function _iterable_to_array_limit$5(arr, i) {
|
|
|
27526
27593
|
}
|
|
27527
27594
|
return _arr;
|
|
27528
27595
|
}
|
|
27529
|
-
function _non_iterable_rest$
|
|
27596
|
+
function _non_iterable_rest$6() {
|
|
27530
27597
|
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
27598
|
}
|
|
27532
27599
|
function _object_spread$5(target) {
|
|
@@ -27544,16 +27611,16 @@ function _object_spread$5(target) {
|
|
|
27544
27611
|
}
|
|
27545
27612
|
return target;
|
|
27546
27613
|
}
|
|
27547
|
-
function _sliced_to_array$
|
|
27548
|
-
return _array_with_holes$
|
|
27614
|
+
function _sliced_to_array$6(arr, i) {
|
|
27615
|
+
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
27616
|
}
|
|
27550
|
-
function _unsupported_iterable_to_array$
|
|
27617
|
+
function _unsupported_iterable_to_array$6(o, minLen) {
|
|
27551
27618
|
if (!o) return;
|
|
27552
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
27619
|
+
if (typeof o === "string") return _array_like_to_array$6(o, minLen);
|
|
27553
27620
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
27554
27621
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
27555
27622
|
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$
|
|
27623
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
|
|
27557
27624
|
}
|
|
27558
27625
|
var getTrackDimensions = function(trackRef) {
|
|
27559
27626
|
var _ref, _ref1;
|
|
@@ -27569,7 +27636,7 @@ function useRoomPlatformTrackAspectRatio(trackRef) {
|
|
|
27569
27636
|
var _trackRef_publication;
|
|
27570
27637
|
var trackSid = trackRef === null || trackRef === void 0 ? void 0 : (_trackRef_publication = trackRef.publication) === null || _trackRef_publication === void 0 ? void 0 : _trackRef_publication.trackSid;
|
|
27571
27638
|
var fallbackAspectRatio = getRoomPlatformTrackAspectRatio(trackRef);
|
|
27572
|
-
var _useState = _sliced_to_array$
|
|
27639
|
+
var _useState = _sliced_to_array$6(useState(), 2), intrinsicRatio = _useState[0], setIntrinsicRatio = _useState[1];
|
|
27573
27640
|
var aspectRatio = intrinsicRatio && (trackSid !== undefined ? intrinsicRatio.trackSid === trackSid : intrinsicRatio.trackSid === undefined && intrinsicRatio.trackRef === trackRef) ? intrinsicRatio.aspectRatio : fallbackAspectRatio;
|
|
27574
27641
|
var updateFromVideo = useCallback(function(event) {
|
|
27575
27642
|
var _event_currentTarget = event.currentTarget, videoWidth = _event_currentTarget.videoWidth, videoHeight = _event_currentTarget.videoHeight;
|
|
@@ -27593,12 +27660,12 @@ function useRoomPlatformTrackAspectRatio(trackRef) {
|
|
|
27593
27660
|
function RoomPlatformFitMediaFrame(param) {
|
|
27594
27661
|
var aspectRatio = param.aspectRatio, children = param.children, className = param.className, testId = param.testId;
|
|
27595
27662
|
var frameRef = useRef(null);
|
|
27596
|
-
var _useState = _sliced_to_array$
|
|
27663
|
+
var _useState = _sliced_to_array$6(useState(), 2), frameSize = _useState[0], setFrameSize = _useState[1];
|
|
27597
27664
|
useLayoutEffect(function() {
|
|
27598
27665
|
var _frameRef_current;
|
|
27599
27666
|
var container = (_frameRef_current = frameRef.current) === null || _frameRef_current === void 0 ? void 0 : _frameRef_current.parentElement;
|
|
27600
27667
|
if (!container) return;
|
|
27601
|
-
var _aspectRatio_split_map = _sliced_to_array$
|
|
27668
|
+
var _aspectRatio_split_map = _sliced_to_array$6(aspectRatio.split('/').map(Number), 2), sourceWidth = _aspectRatio_split_map[0], sourceHeight = _aspectRatio_split_map[1];
|
|
27602
27669
|
var ratio = sourceWidth / sourceHeight;
|
|
27603
27670
|
var updateSize = function() {
|
|
27604
27671
|
var clientWidth = container.clientWidth, clientHeight = container.clientHeight;
|
|
@@ -27942,23 +28009,234 @@ function RoomPlatformPrivateRoomStatusBanner() {
|
|
|
27942
28009
|
});
|
|
27943
28010
|
}
|
|
27944
28011
|
|
|
28012
|
+
var ROOM_CONTROL_VERSION = 1;
|
|
28013
|
+
var ROOM_CONTROL_ACTIONS = {
|
|
28014
|
+
CLICK: 'ui.click',
|
|
28015
|
+
SCROLL: 'ui.scroll'
|
|
28016
|
+
};
|
|
28017
|
+
|
|
28018
|
+
function _type_of$3(obj) {
|
|
28019
|
+
"@swc/helpers - typeof";
|
|
28020
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
28021
|
+
}
|
|
28022
|
+
var MAX_CONTROL_SCOPE_LENGTH = 128;
|
|
28023
|
+
var MAX_CONTROL_ID_LENGTH = 128;
|
|
28024
|
+
var MAX_CONTROL_SCROLL_DELTA = 10000;
|
|
28025
|
+
var isRecord = function(value) {
|
|
28026
|
+
return (typeof value === "undefined" ? "undefined" : _type_of$3(value)) === 'object' && value !== null && !Array.isArray(value);
|
|
28027
|
+
};
|
|
28028
|
+
var hasOwn$1 = function(value, key) {
|
|
28029
|
+
return Object.prototype.hasOwnProperty.call(value, key);
|
|
28030
|
+
};
|
|
28031
|
+
var hasRequiredOwn = function(value) {
|
|
28032
|
+
for(var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
28033
|
+
keys[_key - 1] = arguments[_key];
|
|
28034
|
+
}
|
|
28035
|
+
return keys.every(function(key) {
|
|
28036
|
+
return hasOwn$1(value, key);
|
|
28037
|
+
});
|
|
28038
|
+
};
|
|
28039
|
+
var isBoundedString = function(value, maxLength) {
|
|
28040
|
+
return typeof value === 'string' && value === value.trim() && value.length > 0 && value.length <= maxLength;
|
|
28041
|
+
};
|
|
28042
|
+
var isValidId$1 = function(value) {
|
|
28043
|
+
return isBoundedString(value, MAX_CONTROL_ID_LENGTH);
|
|
28044
|
+
};
|
|
28045
|
+
var isValidScope = function(value) {
|
|
28046
|
+
if (typeof value !== 'string') return false;
|
|
28047
|
+
var normalized = normalizeScopeId(value);
|
|
28048
|
+
return normalized !== null && normalized === value;
|
|
28049
|
+
};
|
|
28050
|
+
var isValidVersion = function(value) {
|
|
28051
|
+
return value === ROOM_CONTROL_VERSION;
|
|
28052
|
+
};
|
|
28053
|
+
function normalizeScopeId(value) {
|
|
28054
|
+
if (typeof value !== 'string') return null;
|
|
28055
|
+
var normalized = value.trim();
|
|
28056
|
+
return normalized.length > 0 && normalized.length <= MAX_CONTROL_SCOPE_LENGTH ? normalized : null;
|
|
28057
|
+
}
|
|
28058
|
+
function isValidScrollPayload(value) {
|
|
28059
|
+
return isRecord(value) && hasRequiredOwn(value, 'deltaY') && typeof value.deltaY === 'number' && Number.isFinite(value.deltaY) && Math.abs(value.deltaY) <= MAX_CONTROL_SCROLL_DELTA;
|
|
28060
|
+
}
|
|
28061
|
+
function isValidClickPayload(value) {
|
|
28062
|
+
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;
|
|
28063
|
+
}
|
|
28064
|
+
function isValidControlPayload(action, payload) {
|
|
28065
|
+
if (action === ROOM_CONTROL_ACTIONS.CLICK) return isValidClickPayload(payload);
|
|
28066
|
+
if (action === ROOM_CONTROL_ACTIONS.SCROLL) return isValidScrollPayload(payload);
|
|
28067
|
+
return false;
|
|
28068
|
+
}
|
|
28069
|
+
var isValidOptionalString = function(value, key) {
|
|
28070
|
+
var maxLength = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : MAX_CONTROL_ID_LENGTH;
|
|
28071
|
+
return !hasOwn$1(value, key) || isBoundedString(value[key], maxLength);
|
|
28072
|
+
};
|
|
28073
|
+
function isValidControlCommand(value) {
|
|
28074
|
+
if (!isRecord(value) || !hasRequiredOwn(value, 'type', 'version', 'scopeId', 'commandId', 'action', 'payload')) {
|
|
28075
|
+
return false;
|
|
28076
|
+
}
|
|
28077
|
+
if (value.type !== 'control-command' || !isValidVersion(value.version) || !isValidScope(value.scopeId) || !isValidId$1(value.commandId) || !isValidId$1(value.action) || !isValidControlPayload(value.action, value.payload)) {
|
|
28078
|
+
return false;
|
|
28079
|
+
}
|
|
28080
|
+
return !hasOwn$1(value, 'targetId') || isValidId$1(value.targetId);
|
|
28081
|
+
}
|
|
28082
|
+
function isValidControlTargetReady(value) {
|
|
28083
|
+
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) {
|
|
28084
|
+
return isBoundedString(capability, MAX_CONTROL_ID_LENGTH);
|
|
28085
|
+
}) && isValidOptionalString(value, 'targetType') && isValidOptionalString(value, 'requestId');
|
|
28086
|
+
}
|
|
28087
|
+
function isValidControlDiscover(value) {
|
|
28088
|
+
return hasRequiredOwn(value, 'type', 'version', 'scopeId', 'requestId') && value.type === 'control-discover' && isValidVersion(value.version) && isValidScope(value.scopeId) && isValidId$1(value.requestId);
|
|
28089
|
+
}
|
|
28090
|
+
function isValidControlState(value) {
|
|
28091
|
+
return hasRequiredOwn(value, 'type', 'version', 'scopeId', 'targetId') && value.type === 'control-state' && isValidVersion(value.version) && isValidScope(value.scopeId) && isValidId$1(value.targetId) && isValidOptionalString(value, 'commandId');
|
|
28092
|
+
}
|
|
28093
|
+
function isValidControlMessage(value) {
|
|
28094
|
+
if (!isRecord(value) || !hasOwn$1(value, 'type')) return false;
|
|
28095
|
+
if (value.type === 'control-command') return isValidControlCommand(value);
|
|
28096
|
+
if (value.type === 'control-target-ready') return isValidControlTargetReady(value);
|
|
28097
|
+
if (value.type === 'control-discover') return isValidControlDiscover(value);
|
|
28098
|
+
if (value.type === 'control-state') return isValidControlState(value);
|
|
28099
|
+
return false;
|
|
28100
|
+
}
|
|
28101
|
+
|
|
28102
|
+
function _array_like_to_array$5(arr, len) {
|
|
28103
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
28104
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
28105
|
+
return arr2;
|
|
28106
|
+
}
|
|
28107
|
+
function _array_with_holes$5(arr) {
|
|
28108
|
+
if (Array.isArray(arr)) return arr;
|
|
28109
|
+
}
|
|
28110
|
+
function _instanceof(left, right) {
|
|
28111
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
28112
|
+
return !!right[Symbol.hasInstance](left);
|
|
28113
|
+
} else {
|
|
28114
|
+
return left instanceof right;
|
|
28115
|
+
}
|
|
28116
|
+
}
|
|
28117
|
+
function _iterable_to_array_limit$5(arr, i) {
|
|
28118
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
28119
|
+
if (_i == null) return;
|
|
28120
|
+
var _arr = [];
|
|
28121
|
+
var _n = true;
|
|
28122
|
+
var _d = false;
|
|
28123
|
+
var _s, _e;
|
|
28124
|
+
try {
|
|
28125
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
28126
|
+
_arr.push(_s.value);
|
|
28127
|
+
if (i && _arr.length === i) break;
|
|
28128
|
+
}
|
|
28129
|
+
} catch (err) {
|
|
28130
|
+
_d = true;
|
|
28131
|
+
_e = err;
|
|
28132
|
+
} finally{
|
|
28133
|
+
try {
|
|
28134
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
28135
|
+
} finally{
|
|
28136
|
+
if (_d) throw _e;
|
|
28137
|
+
}
|
|
28138
|
+
}
|
|
28139
|
+
return _arr;
|
|
28140
|
+
}
|
|
28141
|
+
function _non_iterable_rest$5() {
|
|
28142
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
28143
|
+
}
|
|
28144
|
+
function _sliced_to_array$5(arr, i) {
|
|
28145
|
+
return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$5();
|
|
28146
|
+
}
|
|
28147
|
+
function _unsupported_iterable_to_array$5(o, minLen) {
|
|
28148
|
+
if (!o) return;
|
|
28149
|
+
if (typeof o === "string") return _array_like_to_array$5(o, minLen);
|
|
28150
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
28151
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
28152
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
28153
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
|
|
28154
|
+
}
|
|
28155
|
+
var ACTIVITY_SELECTOR = '[data-room-control-activity]';
|
|
28156
|
+
var LINE_HEIGHT_PX = 16;
|
|
28157
|
+
var getAspectRatio = function(aspectRatio) {
|
|
28158
|
+
var _aspectRatio_split_map = _sliced_to_array$5(aspectRatio.split('/').map(Number), 2), width = _aspectRatio_split_map[0], height = _aspectRatio_split_map[1];
|
|
28159
|
+
return Number.isFinite(width) && Number.isFinite(height) && width > 0 && height > 0 ? width / height : null;
|
|
28160
|
+
};
|
|
28161
|
+
var getContentRect = function(containerRect, aspectRatio) {
|
|
28162
|
+
var ratio = getAspectRatio(aspectRatio);
|
|
28163
|
+
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) {
|
|
28164
|
+
return null;
|
|
28165
|
+
}
|
|
28166
|
+
var width = Math.min(containerRect.width, containerRect.height * ratio);
|
|
28167
|
+
var height = width / ratio;
|
|
28168
|
+
var left = containerRect.left + (containerRect.width - width) / 2;
|
|
28169
|
+
var top = containerRect.top + (containerRect.height - height) / 2;
|
|
28170
|
+
return new DOMRect(left, top, width, height);
|
|
28171
|
+
};
|
|
28172
|
+
var isActivityTarget = function(target) {
|
|
28173
|
+
return _instanceof(target, Element) && Boolean(target.closest(ACTIVITY_SELECTOR));
|
|
28174
|
+
};
|
|
28175
|
+
var boundedDelta = function(deltaY, deltaMode, contentHeight) {
|
|
28176
|
+
if (!Number.isFinite(deltaY) || !Number.isFinite(contentHeight)) return null;
|
|
28177
|
+
var multiplier = deltaMode === 0 ? 1 : deltaMode === 1 ? LINE_HEIGHT_PX : deltaMode === 2 ? contentHeight : null;
|
|
28178
|
+
if (multiplier === null) return null;
|
|
28179
|
+
var cssPixels = deltaY * multiplier;
|
|
28180
|
+
return Number.isFinite(cssPixels) && Math.abs(cssPixels) <= MAX_CONTROL_SCROLL_DELTA ? cssPixels : null;
|
|
28181
|
+
};
|
|
28182
|
+
function RoomPlatformScreenShareInteractionSurface(param) {
|
|
28183
|
+
var aspectRatio = param.aspectRatio, children = param.children, handlers = param.handlers;
|
|
28184
|
+
var getCurrentContentRect = function(target) {
|
|
28185
|
+
return getContentRect(target.getBoundingClientRect(), aspectRatio);
|
|
28186
|
+
};
|
|
28187
|
+
var handleWheel = function(event) {
|
|
28188
|
+
var _handlers_onWheel;
|
|
28189
|
+
if (isActivityTarget(event.target)) return;
|
|
28190
|
+
var contentRect = getCurrentContentRect(event.currentTarget);
|
|
28191
|
+
if (!contentRect) return;
|
|
28192
|
+
var deltaY = boundedDelta(event.deltaY, event.deltaMode, contentRect.height);
|
|
28193
|
+
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, {
|
|
28194
|
+
deltaY: deltaY
|
|
28195
|
+
});
|
|
28196
|
+
};
|
|
28197
|
+
var handleClick = function(event) {
|
|
28198
|
+
var _handlers_onClick;
|
|
28199
|
+
if (isActivityTarget(event.target)) return;
|
|
28200
|
+
if (!Number.isFinite(event.clientX) || !Number.isFinite(event.clientY)) return;
|
|
28201
|
+
var contentRect = getCurrentContentRect(event.currentTarget);
|
|
28202
|
+
if (contentRect) handlers === null || handlers === void 0 ? void 0 : (_handlers_onClick = handlers.onClick) === null || _handlers_onClick === void 0 ? void 0 : _handlers_onClick.call(handlers, {
|
|
28203
|
+
clientX: event.clientX,
|
|
28204
|
+
clientY: event.clientY,
|
|
28205
|
+
contentRect: contentRect
|
|
28206
|
+
});
|
|
28207
|
+
};
|
|
28208
|
+
return /*#__PURE__*/ jsx("div", {
|
|
28209
|
+
"data-testid": "room-platform-screen-share-interaction-surface",
|
|
28210
|
+
className: "absolute inset-0 z-10",
|
|
28211
|
+
onClick: handleClick,
|
|
28212
|
+
onWheel: handleWheel,
|
|
28213
|
+
children: children
|
|
28214
|
+
});
|
|
28215
|
+
}
|
|
28216
|
+
|
|
27945
28217
|
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;
|
|
28218
|
+
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
28219
|
return /*#__PURE__*/ jsxs(RoomPlatformFitMediaFrame, {
|
|
27948
28220
|
aspectRatio: aspectRatio,
|
|
27949
28221
|
testId: testId,
|
|
27950
28222
|
children: [
|
|
27951
|
-
/*#__PURE__*/
|
|
27952
|
-
|
|
27953
|
-
|
|
27954
|
-
|
|
27955
|
-
|
|
28223
|
+
/*#__PURE__*/ jsxs(RoomPlatformScreenShareInteractionSurface, {
|
|
28224
|
+
aspectRatio: aspectRatio,
|
|
28225
|
+
handlers: interactionHandlers,
|
|
28226
|
+
children: [
|
|
28227
|
+
/*#__PURE__*/ jsx(VideoTrack, {
|
|
28228
|
+
trackRef: trackRef,
|
|
28229
|
+
className: "h-full w-full object-contain",
|
|
28230
|
+
onLoadedMetadata: onLoadedMetadata,
|
|
28231
|
+
onResize: onResize
|
|
28232
|
+
}),
|
|
28233
|
+
children ? /*#__PURE__*/ jsx("div", {
|
|
28234
|
+
"data-testid": whiteboardTestId,
|
|
28235
|
+
className: "absolute inset-0 z-20",
|
|
28236
|
+
children: children
|
|
28237
|
+
}) : null
|
|
28238
|
+
]
|
|
27956
28239
|
}),
|
|
27957
|
-
children ? /*#__PURE__*/ jsx("div", {
|
|
27958
|
-
"data-testid": whiteboardTestId,
|
|
27959
|
-
className: "absolute inset-0 z-20",
|
|
27960
|
-
children: children
|
|
27961
|
-
}) : null,
|
|
27962
28240
|
/*#__PURE__*/ jsx("div", {
|
|
27963
28241
|
"data-testid": borderTestId,
|
|
27964
28242
|
"aria-hidden": "true",
|
|
@@ -28145,6 +28423,425 @@ function RoomPlatformShell(param) {
|
|
|
28145
28423
|
});
|
|
28146
28424
|
}
|
|
28147
28425
|
|
|
28426
|
+
function normalizeCapturedPoint(param) {
|
|
28427
|
+
var clientX = param.clientX, clientY = param.clientY, contentRect = param.contentRect;
|
|
28428
|
+
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) {
|
|
28429
|
+
return null;
|
|
28430
|
+
}
|
|
28431
|
+
var x = (clientX - contentRect.left) / contentRect.width;
|
|
28432
|
+
var y = (clientY - contentRect.top) / contentRect.height;
|
|
28433
|
+
if (x < 0 || x > 1 || y < 0 || y > 1) return null;
|
|
28434
|
+
return {
|
|
28435
|
+
x: x,
|
|
28436
|
+
y: y
|
|
28437
|
+
};
|
|
28438
|
+
}
|
|
28439
|
+
|
|
28440
|
+
function controlChannelName(scopeId) {
|
|
28441
|
+
var normalizedScopeId = normalizeScopeId(scopeId);
|
|
28442
|
+
return normalizedScopeId === null ? '' : "naviedu:room-control:v".concat(ROOM_CONTROL_VERSION, ":").concat(normalizedScopeId);
|
|
28443
|
+
}
|
|
28444
|
+
function createBroadcastChannelTransport(scopeId) {
|
|
28445
|
+
var normalizedScopeId = normalizeScopeId(scopeId);
|
|
28446
|
+
if (normalizedScopeId === null || typeof window === 'undefined') return null;
|
|
28447
|
+
try {
|
|
28448
|
+
if (typeof window.BroadcastChannel !== 'function') return null;
|
|
28449
|
+
var channel = new window.BroadcastChannel(controlChannelName(normalizedScopeId));
|
|
28450
|
+
var handlers = new Set();
|
|
28451
|
+
var closed = false;
|
|
28452
|
+
channel.onmessage = function(event) {
|
|
28453
|
+
if (closed) return;
|
|
28454
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
28455
|
+
try {
|
|
28456
|
+
for(var _iterator = handlers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
28457
|
+
var handler = _step.value;
|
|
28458
|
+
try {
|
|
28459
|
+
handler(event.data);
|
|
28460
|
+
} catch (unused) {
|
|
28461
|
+
// A subscriber must not break delivery to other subscribers.
|
|
28462
|
+
}
|
|
28463
|
+
}
|
|
28464
|
+
} catch (err) {
|
|
28465
|
+
_didIteratorError = true;
|
|
28466
|
+
_iteratorError = err;
|
|
28467
|
+
} finally{
|
|
28468
|
+
try {
|
|
28469
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
28470
|
+
_iterator.return();
|
|
28471
|
+
}
|
|
28472
|
+
} finally{
|
|
28473
|
+
if (_didIteratorError) {
|
|
28474
|
+
throw _iteratorError;
|
|
28475
|
+
}
|
|
28476
|
+
}
|
|
28477
|
+
}
|
|
28478
|
+
};
|
|
28479
|
+
return {
|
|
28480
|
+
publish: function publish(message) {
|
|
28481
|
+
if (closed) return;
|
|
28482
|
+
try {
|
|
28483
|
+
channel.postMessage(message);
|
|
28484
|
+
} catch (unused) {
|
|
28485
|
+
// Unsupported structured-clone values are intentionally ignored.
|
|
28486
|
+
}
|
|
28487
|
+
},
|
|
28488
|
+
subscribe: function subscribe(handler) {
|
|
28489
|
+
if (closed) return function() {
|
|
28490
|
+
return undefined;
|
|
28491
|
+
};
|
|
28492
|
+
handlers.add(handler);
|
|
28493
|
+
return function() {
|
|
28494
|
+
return handlers.delete(handler);
|
|
28495
|
+
};
|
|
28496
|
+
},
|
|
28497
|
+
close: function close() {
|
|
28498
|
+
if (closed) return;
|
|
28499
|
+
closed = true;
|
|
28500
|
+
handlers.clear();
|
|
28501
|
+
try {
|
|
28502
|
+
channel.onmessage = null;
|
|
28503
|
+
channel.close();
|
|
28504
|
+
} catch (unused) {
|
|
28505
|
+
// Closing an already-broken native channel is a no-op.
|
|
28506
|
+
}
|
|
28507
|
+
}
|
|
28508
|
+
};
|
|
28509
|
+
} catch (unused) {
|
|
28510
|
+
return null;
|
|
28511
|
+
}
|
|
28512
|
+
}
|
|
28513
|
+
|
|
28514
|
+
function _type_of$2(obj) {
|
|
28515
|
+
"@swc/helpers - typeof";
|
|
28516
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
28517
|
+
}
|
|
28518
|
+
var isValidId = function(value) {
|
|
28519
|
+
return typeof value === 'string' && value === value.trim() && value.length > 0 && value.length <= MAX_CONTROL_ID_LENGTH;
|
|
28520
|
+
};
|
|
28521
|
+
function decodeRoomControlCaptureHandle(value) {
|
|
28522
|
+
if (typeof value !== 'string') return null;
|
|
28523
|
+
try {
|
|
28524
|
+
var parsed = JSON.parse(value);
|
|
28525
|
+
if ((typeof parsed === "undefined" ? "undefined" : _type_of$2(parsed)) !== 'object' || parsed === null || Array.isArray(parsed)) return null;
|
|
28526
|
+
var candidate = parsed;
|
|
28527
|
+
var scopeId = normalizeScopeId(candidate.scopeId);
|
|
28528
|
+
if (candidate.version !== ROOM_CONTROL_VERSION || scopeId === null || scopeId !== candidate.scopeId) return null;
|
|
28529
|
+
if (!isValidId(candidate.targetId)) return null;
|
|
28530
|
+
return {
|
|
28531
|
+
version: ROOM_CONTROL_VERSION,
|
|
28532
|
+
scopeId: scopeId,
|
|
28533
|
+
targetId: candidate.targetId
|
|
28534
|
+
};
|
|
28535
|
+
} catch (unused) {
|
|
28536
|
+
return null;
|
|
28537
|
+
}
|
|
28538
|
+
}
|
|
28539
|
+
|
|
28540
|
+
function _type_of$1(obj) {
|
|
28541
|
+
"@swc/helpers - typeof";
|
|
28542
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
28543
|
+
}
|
|
28544
|
+
var fallbackId = 0;
|
|
28545
|
+
function createId(prefix) {
|
|
28546
|
+
try {
|
|
28547
|
+
var _globalThis_crypto;
|
|
28548
|
+
var randomUUID = (_globalThis_crypto = globalThis.crypto) === null || _globalThis_crypto === void 0 ? void 0 : _globalThis_crypto.randomUUID;
|
|
28549
|
+
if (typeof randomUUID === 'function') {
|
|
28550
|
+
var id = randomUUID.call(globalThis.crypto);
|
|
28551
|
+
if (id) return id;
|
|
28552
|
+
}
|
|
28553
|
+
} catch (unused) {
|
|
28554
|
+
// Fall through to a local ID.
|
|
28555
|
+
}
|
|
28556
|
+
fallbackId += 1;
|
|
28557
|
+
return "".concat(prefix, "-").concat(Date.now().toString(36), "-").concat(fallbackId, "-").concat(Math.random().toString(36).slice(2));
|
|
28558
|
+
}
|
|
28559
|
+
function hasOwn(value, key) {
|
|
28560
|
+
return Object.prototype.hasOwnProperty.call(value, key);
|
|
28561
|
+
}
|
|
28562
|
+
function isObject(value) {
|
|
28563
|
+
return (typeof value === "undefined" ? "undefined" : _type_of$1(value)) === 'object' && value !== null && !Array.isArray(value);
|
|
28564
|
+
}
|
|
28565
|
+
function createRoomControlController(options) {
|
|
28566
|
+
var _options_transport;
|
|
28567
|
+
var scopeId = normalizeScopeId(options.scopeId);
|
|
28568
|
+
var transport = scopeId === null ? null : (_options_transport = options.transport) !== null && _options_transport !== void 0 ? _options_transport : createBroadcastChannelTransport(scopeId);
|
|
28569
|
+
var registeredTargetIds = new Set();
|
|
28570
|
+
var closed = false;
|
|
28571
|
+
var transportAvailable = false;
|
|
28572
|
+
var unsubscribe = null;
|
|
28573
|
+
var screenShareTrack = null;
|
|
28574
|
+
var endedListener = null;
|
|
28575
|
+
var drawingInactive;
|
|
28576
|
+
var handleMessage = function(message) {
|
|
28577
|
+
if (closed || scopeId === null || !isValidControlMessage(message) || message.scopeId !== scopeId) return;
|
|
28578
|
+
if (message.type === 'control-target-ready') registeredTargetIds.add(message.targetId);
|
|
28579
|
+
};
|
|
28580
|
+
if (transport !== null) {
|
|
28581
|
+
try {
|
|
28582
|
+
var cleanup = transport.subscribe(handleMessage);
|
|
28583
|
+
if (typeof cleanup !== 'function') throw new Error('invalid transport subscription');
|
|
28584
|
+
unsubscribe = cleanup;
|
|
28585
|
+
transportAvailable = true;
|
|
28586
|
+
transport.publish({
|
|
28587
|
+
type: 'control-discover',
|
|
28588
|
+
version: ROOM_CONTROL_VERSION,
|
|
28589
|
+
scopeId: scopeId,
|
|
28590
|
+
requestId: createId('discover')
|
|
28591
|
+
});
|
|
28592
|
+
} catch (unused) {
|
|
28593
|
+
transportAvailable = false;
|
|
28594
|
+
}
|
|
28595
|
+
}
|
|
28596
|
+
var clearTrack = function() {
|
|
28597
|
+
var track = screenShareTrack;
|
|
28598
|
+
var listener = endedListener;
|
|
28599
|
+
screenShareTrack = null;
|
|
28600
|
+
endedListener = null;
|
|
28601
|
+
if (track !== null && listener !== null) {
|
|
28602
|
+
try {
|
|
28603
|
+
track.removeEventListener('ended', listener);
|
|
28604
|
+
} catch (unused) {
|
|
28605
|
+
// Track cleanup is best effort.
|
|
28606
|
+
}
|
|
28607
|
+
}
|
|
28608
|
+
};
|
|
28609
|
+
var setScreenShareTrack = function(track) {
|
|
28610
|
+
if (closed) return;
|
|
28611
|
+
clearTrack();
|
|
28612
|
+
if (track === null) return;
|
|
28613
|
+
var candidate = track;
|
|
28614
|
+
try {
|
|
28615
|
+
if (typeof candidate.getCaptureHandle === 'function') candidate.getCaptureHandle.call(candidate);
|
|
28616
|
+
} catch (unused) {
|
|
28617
|
+
// Capture Handle is an optional identity hint.
|
|
28618
|
+
}
|
|
28619
|
+
if (typeof candidate.addEventListener !== 'function' || typeof candidate.removeEventListener !== 'function') return;
|
|
28620
|
+
var onEnded = function() {
|
|
28621
|
+
if (screenShareTrack === candidate) clearTrack();
|
|
28622
|
+
};
|
|
28623
|
+
screenShareTrack = candidate;
|
|
28624
|
+
endedListener = onEnded;
|
|
28625
|
+
try {
|
|
28626
|
+
candidate.addEventListener('ended', onEnded);
|
|
28627
|
+
} catch (unused) {
|
|
28628
|
+
clearTrack();
|
|
28629
|
+
}
|
|
28630
|
+
};
|
|
28631
|
+
var setDrawingInactive = function(inactive) {
|
|
28632
|
+
if (!closed) drawingInactive = inactive;
|
|
28633
|
+
};
|
|
28634
|
+
var getCaptureTargetId = function() {
|
|
28635
|
+
var track = screenShareTrack;
|
|
28636
|
+
if (track === null || typeof track.getCaptureHandle !== 'function') return undefined;
|
|
28637
|
+
try {
|
|
28638
|
+
var handle = decodeRoomControlCaptureHandle(track.getCaptureHandle.call(track));
|
|
28639
|
+
return (handle === null || handle === void 0 ? void 0 : handle.scopeId) === scopeId && registeredTargetIds.has(handle.targetId) ? handle.targetId : undefined;
|
|
28640
|
+
} catch (unused) {
|
|
28641
|
+
return undefined;
|
|
28642
|
+
}
|
|
28643
|
+
};
|
|
28644
|
+
var isGateOpen = function() {
|
|
28645
|
+
var track = screenShareTrack;
|
|
28646
|
+
if (!transportAvailable || closed || track === null || drawingInactive !== true) return false;
|
|
28647
|
+
try {
|
|
28648
|
+
return track.readyState === 'live' && track.getSettings().displaySurface === 'browser';
|
|
28649
|
+
} catch (unused) {
|
|
28650
|
+
return false;
|
|
28651
|
+
}
|
|
28652
|
+
};
|
|
28653
|
+
var send = function(action, payload, options) {
|
|
28654
|
+
if (!isGateOpen() || !isValidControlPayload(action, payload) || transport === null || scopeId === null) return;
|
|
28655
|
+
try {
|
|
28656
|
+
if (options !== undefined && !isObject(options)) return;
|
|
28657
|
+
var command = {
|
|
28658
|
+
type: 'control-command',
|
|
28659
|
+
version: ROOM_CONTROL_VERSION,
|
|
28660
|
+
scopeId: scopeId,
|
|
28661
|
+
commandId: createId('command'),
|
|
28662
|
+
action: action,
|
|
28663
|
+
payload: payload
|
|
28664
|
+
};
|
|
28665
|
+
if (options !== undefined && hasOwn(options, 'targetId')) command.targetId = options.targetId;
|
|
28666
|
+
var captureTargetId = getCaptureTargetId();
|
|
28667
|
+
if (!('targetId' in command) && captureTargetId !== undefined) {
|
|
28668
|
+
command.targetId = captureTargetId;
|
|
28669
|
+
}
|
|
28670
|
+
if (!isValidControlCommand(command)) return;
|
|
28671
|
+
transport.publish(command);
|
|
28672
|
+
} catch (unused) {
|
|
28673
|
+
// Invalid input and unavailable transports fail closed.
|
|
28674
|
+
}
|
|
28675
|
+
};
|
|
28676
|
+
var close = function() {
|
|
28677
|
+
if (closed) return;
|
|
28678
|
+
closed = true;
|
|
28679
|
+
clearTrack();
|
|
28680
|
+
try {
|
|
28681
|
+
unsubscribe === null || unsubscribe === void 0 ? void 0 : unsubscribe();
|
|
28682
|
+
} catch (unused) {
|
|
28683
|
+
// Broken transport cleanup must not escape controller close.
|
|
28684
|
+
}
|
|
28685
|
+
if (transport !== null) {
|
|
28686
|
+
try {
|
|
28687
|
+
transport.close();
|
|
28688
|
+
} catch (unused) {
|
|
28689
|
+
// Broken transport cleanup must not escape controller close.
|
|
28690
|
+
}
|
|
28691
|
+
}
|
|
28692
|
+
};
|
|
28693
|
+
return {
|
|
28694
|
+
send: send,
|
|
28695
|
+
sendScroll: function(payload, options) {
|
|
28696
|
+
return send(ROOM_CONTROL_ACTIONS.SCROLL, payload, options);
|
|
28697
|
+
},
|
|
28698
|
+
sendClick: function(payload, options) {
|
|
28699
|
+
return send(ROOM_CONTROL_ACTIONS.CLICK, payload, options);
|
|
28700
|
+
},
|
|
28701
|
+
close: close,
|
|
28702
|
+
setScreenShareTrack: setScreenShareTrack,
|
|
28703
|
+
setDrawingInactive: setDrawingInactive
|
|
28704
|
+
};
|
|
28705
|
+
}
|
|
28706
|
+
|
|
28707
|
+
function _type_of(obj) {
|
|
28708
|
+
"@swc/helpers - typeof";
|
|
28709
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
28710
|
+
}
|
|
28711
|
+
var emptyContextValue = {
|
|
28712
|
+
sendClick: function() {
|
|
28713
|
+
return undefined;
|
|
28714
|
+
},
|
|
28715
|
+
sendScroll: function() {
|
|
28716
|
+
return undefined;
|
|
28717
|
+
},
|
|
28718
|
+
setDrawingSurface: function() {
|
|
28719
|
+
return undefined;
|
|
28720
|
+
},
|
|
28721
|
+
setWhiteboardState: function() {
|
|
28722
|
+
return undefined;
|
|
28723
|
+
}
|
|
28724
|
+
};
|
|
28725
|
+
var RoomPlatformRoomControlContext = /*#__PURE__*/ createContext(emptyContextValue);
|
|
28726
|
+
var isScreenSharePublication = function(publication) {
|
|
28727
|
+
return (typeof publication === "undefined" ? "undefined" : _type_of(publication)) === 'object' && publication !== null && publication.source === Track.Source.ScreenShare;
|
|
28728
|
+
};
|
|
28729
|
+
var mediaStreamTrackOf = function(publication) {
|
|
28730
|
+
var _ref;
|
|
28731
|
+
var _publication_track;
|
|
28732
|
+
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;
|
|
28733
|
+
};
|
|
28734
|
+
function useRoomPlatformRoomControl() {
|
|
28735
|
+
return useContext(RoomPlatformRoomControlContext);
|
|
28736
|
+
}
|
|
28737
|
+
function RoomPlatformRoomControlRuntime(param) {
|
|
28738
|
+
var children = param.children, scopeId = param.scopeId;
|
|
28739
|
+
var room = useRoomPlatform().room;
|
|
28740
|
+
var normalizedScopeId = normalizeScopeId(scopeId);
|
|
28741
|
+
var controllerRef = useRef(null);
|
|
28742
|
+
var drawingSurfaceRef = useRef('none');
|
|
28743
|
+
var whiteboardStateRef = useRef(null);
|
|
28744
|
+
var syncDrawingGate = useCallback(function() {
|
|
28745
|
+
var controller = controllerRef.current;
|
|
28746
|
+
if (!controller) return;
|
|
28747
|
+
var state = whiteboardStateRef.current;
|
|
28748
|
+
controller.setDrawingInactive(drawingSurfaceRef.current === 'none' || state !== null && Boolean(state.toolbarAvailable) && (!state.toolbarOpen || state.activeTool === 'mouse'));
|
|
28749
|
+
}, []);
|
|
28750
|
+
var setDrawingSurface = useCallback(function(surface) {
|
|
28751
|
+
drawingSurfaceRef.current = surface;
|
|
28752
|
+
if (surface === 'whiteboard') whiteboardStateRef.current = null;
|
|
28753
|
+
syncDrawingGate();
|
|
28754
|
+
}, [
|
|
28755
|
+
normalizedScopeId,
|
|
28756
|
+
syncDrawingGate
|
|
28757
|
+
]);
|
|
28758
|
+
var setWhiteboardState = useCallback(function(state) {
|
|
28759
|
+
whiteboardStateRef.current = state;
|
|
28760
|
+
syncDrawingGate();
|
|
28761
|
+
}, [
|
|
28762
|
+
syncDrawingGate
|
|
28763
|
+
]);
|
|
28764
|
+
var contextValue = useMemo(function() {
|
|
28765
|
+
return {
|
|
28766
|
+
sendClick: function(point) {
|
|
28767
|
+
var _controllerRef_current;
|
|
28768
|
+
return (_controllerRef_current = controllerRef.current) === null || _controllerRef_current === void 0 ? void 0 : _controllerRef_current.sendClick(point);
|
|
28769
|
+
},
|
|
28770
|
+
sendScroll: function(deltaY) {
|
|
28771
|
+
var _controllerRef_current;
|
|
28772
|
+
return (_controllerRef_current = controllerRef.current) === null || _controllerRef_current === void 0 ? void 0 : _controllerRef_current.sendScroll({
|
|
28773
|
+
deltaY: deltaY
|
|
28774
|
+
});
|
|
28775
|
+
},
|
|
28776
|
+
setDrawingSurface: setDrawingSurface,
|
|
28777
|
+
setWhiteboardState: setWhiteboardState
|
|
28778
|
+
};
|
|
28779
|
+
}, [
|
|
28780
|
+
setDrawingSurface,
|
|
28781
|
+
setWhiteboardState
|
|
28782
|
+
]);
|
|
28783
|
+
useInsertionEffect(function() {
|
|
28784
|
+
if (!normalizedScopeId) return;
|
|
28785
|
+
drawingSurfaceRef.current = 'none';
|
|
28786
|
+
whiteboardStateRef.current = null;
|
|
28787
|
+
var controller = createRoomControlController({
|
|
28788
|
+
scopeId: normalizedScopeId
|
|
28789
|
+
});
|
|
28790
|
+
controllerRef.current = controller;
|
|
28791
|
+
controller.setDrawingInactive(true);
|
|
28792
|
+
return function() {
|
|
28793
|
+
if (controllerRef.current === controller) controllerRef.current = null;
|
|
28794
|
+
controller.close();
|
|
28795
|
+
};
|
|
28796
|
+
}, [
|
|
28797
|
+
normalizedScopeId
|
|
28798
|
+
]);
|
|
28799
|
+
useInsertionEffect(function() {
|
|
28800
|
+
var controller = controllerRef.current;
|
|
28801
|
+
if (!controller || !room) return;
|
|
28802
|
+
var setPublicationTrack = function(publication) {
|
|
28803
|
+
if (publication !== undefined && !isScreenSharePublication(publication)) return;
|
|
28804
|
+
controller.setScreenShareTrack(mediaStreamTrackOf(isScreenSharePublication(publication) ? publication : room.localParticipant.getTrackPublication(Track.Source.ScreenShare)));
|
|
28805
|
+
};
|
|
28806
|
+
setPublicationTrack();
|
|
28807
|
+
var handlePublished = function(publication) {
|
|
28808
|
+
return setPublicationTrack(publication);
|
|
28809
|
+
};
|
|
28810
|
+
var handleUnpublished = function(publication) {
|
|
28811
|
+
if (publication === undefined || isScreenSharePublication(publication)) controller.setScreenShareTrack(null);
|
|
28812
|
+
};
|
|
28813
|
+
room.on(RoomEvent.LocalTrackPublished, handlePublished);
|
|
28814
|
+
room.on(RoomEvent.LocalTrackUnpublished, handleUnpublished);
|
|
28815
|
+
return function() {
|
|
28816
|
+
room.off(RoomEvent.LocalTrackPublished, handlePublished);
|
|
28817
|
+
room.off(RoomEvent.LocalTrackUnpublished, handleUnpublished);
|
|
28818
|
+
controller.setScreenShareTrack(null);
|
|
28819
|
+
};
|
|
28820
|
+
}, [
|
|
28821
|
+
normalizedScopeId,
|
|
28822
|
+
room
|
|
28823
|
+
]);
|
|
28824
|
+
return /*#__PURE__*/ jsx(RoomPlatformRoomControlContext.Provider, {
|
|
28825
|
+
value: contextValue,
|
|
28826
|
+
children: children
|
|
28827
|
+
});
|
|
28828
|
+
}
|
|
28829
|
+
function RoomPlatformMainWhiteboardSurface(param) {
|
|
28830
|
+
var children = param.children;
|
|
28831
|
+
var setDrawingSurface = useRoomPlatformRoomControl().setDrawingSurface;
|
|
28832
|
+
useLayoutEffect(function() {
|
|
28833
|
+
setDrawingSurface('whiteboard');
|
|
28834
|
+
return function() {
|
|
28835
|
+
return setDrawingSurface('none');
|
|
28836
|
+
};
|
|
28837
|
+
}, [
|
|
28838
|
+
setDrawingSurface
|
|
28839
|
+
]);
|
|
28840
|
+
return /*#__PURE__*/ jsx(Fragment, {
|
|
28841
|
+
children: children
|
|
28842
|
+
});
|
|
28843
|
+
}
|
|
28844
|
+
|
|
28148
28845
|
var cameraOverlayClassName = 'absolute left-4 top-4 z-30 aspect-video w-48 max-w-[40%]';
|
|
28149
28846
|
function RoomPlatformCameraOverlay(param) {
|
|
28150
28847
|
var trackRef = param.trackRef, status = param.status, testId = param.testId;
|
|
@@ -28167,6 +28864,7 @@ function RoomPlatformStage(param) {
|
|
|
28167
28864
|
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
28865
|
var _ref;
|
|
28169
28866
|
var _model_primary, _model_primary1;
|
|
28867
|
+
var _useRoomPlatformRoomControl = useRoomPlatformRoomControl(), sendClick = _useRoomPlatformRoomControl.sendClick, sendScroll = _useRoomPlatformRoomControl.sendScroll;
|
|
28170
28868
|
var cameraOverlayTrack = overlayTrack !== null && overlayTrack !== void 0 ? overlayTrack : model.primary;
|
|
28171
28869
|
var displayedTrack = layout === 'camera-overlay' ? cameraOverlayTrack : model.primary;
|
|
28172
28870
|
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 +28904,21 @@ function RoomPlatformStage(param) {
|
|
|
28206
28904
|
className: "relative flex h-full w-full items-center justify-center overflow-hidden rounded-lg text-sm text-slate-300",
|
|
28207
28905
|
children: /*#__PURE__*/ jsx(RoomPlatformScreenShareWhiteboardFrame, {
|
|
28208
28906
|
aspectRatio: frameStyle.aspectRatio,
|
|
28907
|
+
interactionHandlers: {
|
|
28908
|
+
onClick: function(param) {
|
|
28909
|
+
var clientX = param.clientX, clientY = param.clientY, contentRect = param.contentRect;
|
|
28910
|
+
var point = normalizeCapturedPoint({
|
|
28911
|
+
clientX: clientX,
|
|
28912
|
+
clientY: clientY,
|
|
28913
|
+
contentRect: contentRect
|
|
28914
|
+
});
|
|
28915
|
+
if (point) sendClick(point);
|
|
28916
|
+
},
|
|
28917
|
+
onWheel: function(param) {
|
|
28918
|
+
var deltaY = param.deltaY;
|
|
28919
|
+
return sendScroll(deltaY);
|
|
28920
|
+
}
|
|
28921
|
+
},
|
|
28209
28922
|
onLoadedMetadata: screenShareRatio.onLoadedMetadata,
|
|
28210
28923
|
onResize: screenShareRatio.onResize,
|
|
28211
28924
|
trackRef: model.primary,
|
|
@@ -28995,7 +29708,7 @@ function RoomPlatformCompletionAction(param) {
|
|
|
28995
29708
|
});
|
|
28996
29709
|
}
|
|
28997
29710
|
|
|
28998
|
-
var roomPlatformGeneratedStyles = "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.room-platform-room *,.room-platform-room :before,.room-platform-room :after,.room-platform-room ::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:\"\";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}.room-platform-room{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-400:oklch(76.5% .177 163.223);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--radius-md:calc(var(--radius) * .8);--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-quicksand);--default-mono-font-family:var(--font-mono);--toast-success-bg:#dcfce7;--toast-success-border:#74d498;--toast-success-text:#125a2d;--toast-info-bg:#dbeafe;--toast-info-border:#93c5fd;--toast-info-text:#1d4ed8;--toast-warning-bg:#fef3c7;--toast-warning-border:#fcd34d;--toast-warning-text:#b45309;--toast-error-bg:#fee2e2;--toast-error-border:#fca5a5;--toast-error-text:#b91c1c;--color-liveclass-orange:#eb6619}.room-platform-room *,.room-platform-room :after,.room-platform-room :before,.room-platform-room ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}.room-platform-room ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.room-platform-room html,.room-platform-room{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}.room-platform-room hr{height:0;color:inherit;border-top-width:1px}.room-platform-room abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.room-platform-room h1,.room-platform-room h2,.room-platform-room h3,.room-platform-room h4,.room-platform-room h5,.room-platform-room h6{font-size:inherit;font-weight:inherit}.room-platform-room a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.room-platform-room b,.room-platform-room strong{font-weight:bolder}.room-platform-room code,.room-platform-room kbd,.room-platform-room samp,.room-platform-room pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}.room-platform-room small{font-size:80%}.room-platform-room sub,.room-platform-room sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.room-platform-room sub{bottom:-.25em}.room-platform-room sup{top:-.5em}.room-platform-room table{text-indent:0;border-color:inherit;border-collapse:collapse}.room-platform-room :-moz-focusring{outline:auto}.room-platform-room progress{vertical-align:baseline}.room-platform-room summary{display:list-item}.room-platform-room ol,.room-platform-room ul,.room-platform-room menu{list-style:none}.room-platform-room img,.room-platform-room svg,.room-platform-room video,.room-platform-room canvas,.room-platform-room audio,.room-platform-room iframe,.room-platform-room embed,.room-platform-room object{vertical-align:middle;display:block}.room-platform-room img,.room-platform-room video{max-width:100%;height:auto}.room-platform-room button,.room-platform-room input,.room-platform-room select,.room-platform-room optgroup,.room-platform-room textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.room-platform-room ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.room-platform-room :where(select:is([multiple],[size])) optgroup{font-weight:bolder}.room-platform-room :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}.room-platform-room ::file-selector-button{margin-inline-end:4px}.room-platform-room ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){.room-platform-room ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){.room-platform-room ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}.room-platform-room textarea{resize:vertical}.room-platform-room ::-webkit-search-decoration{-webkit-appearance:none}.room-platform-room ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}.room-platform-room ::-webkit-datetime-edit{display:inline-flex}.room-platform-room ::-webkit-datetime-edit-fields-wrapper{padding:0}.room-platform-room ::-webkit-datetime-edit{padding-block:0}.room-platform-room ::-webkit-datetime-edit-year-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-month-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-day-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-hour-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-minute-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-second-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-millisecond-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-meridiem-field{padding-block:0}.room-platform-room ::-webkit-calendar-picker-indicator{line-height:1}.room-platform-room :-moz-ui-invalid{box-shadow:none}.room-platform-room button,.room-platform-room input:where([type=button],[type=reset],[type=submit]){appearance:button}.room-platform-room ::file-selector-button{appearance:button}.room-platform-room ::-webkit-inner-spin-button{height:auto}.room-platform-room ::-webkit-outer-spin-button{height:auto}.room-platform-room [hidden]:where(:not([hidden=until-found])){display:none!important}.room-platform-room *{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room *{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.room-platform-room body{background-color:var(--background);color:var(--foreground)}.room-platform-room [data-sonner-toast][data-type=success]{background:var(--toast-success-bg)!important;border:1px solid var(--toast-success-border)!important;color:var(--toast-success-text)!important}.room-platform-room [data-sonner-toast][data-type=info]{background:var(--toast-info-bg)!important;border:1px solid var(--toast-info-border)!important;color:var(--toast-info-text)!important}.room-platform-room [data-sonner-toast][data-type=warning]{background:var(--toast-warning-bg)!important;border:1px solid var(--toast-warning-border)!important;color:var(--toast-warning-text)!important}.room-platform-room [data-sonner-toast][data-type=error]{background:var(--toast-error-bg)!important;border:1px solid var(--toast-error-border)!important;color:var(--toast-error-text)!important}.room-platform-room .\\@container\\/card-header{container:card-header/inline-size}.room-platform-room .\\@container\\/field-group{container:field-group/inline-size}.room-platform-room .pointer-events-auto{pointer-events:auto}.room-platform-room .pointer-events-none{pointer-events:none}.room-platform-room .invisible{visibility:hidden}.room-platform-room .visible{visibility:visible}.room-platform-room .sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room-platform-room .absolute{position:absolute}.room-platform-room .fixed{position:fixed}.room-platform-room .relative{position:relative}.room-platform-room .static{position:static}.room-platform-room .inset-0{inset:calc(var(--spacing) * 0)}.room-platform-room .inset-x-0{inset-inline:calc(var(--spacing) * 0)}.room-platform-room .inset-x-3{inset-inline:calc(var(--spacing) * 3)}.room-platform-room .inset-y-0{inset-block:calc(var(--spacing) * 0)}.room-platform-room .start{inset-inline-start:var(--spacing)}.room-platform-room .end{inset-inline-end:var(--spacing)}.room-platform-room .-top-12{top:calc(var(--spacing) * -12)}.room-platform-room .top-0{top:calc(var(--spacing) * 0)}.room-platform-room .top-1\\.5{top:calc(var(--spacing) * 1.5)}.room-platform-room .top-1\\/2{top:50%}.room-platform-room .top-2{top:calc(var(--spacing) * 2)}.room-platform-room .top-3{top:calc(var(--spacing) * 3)}.room-platform-room .top-3\\.5{top:calc(var(--spacing) * 3.5)}.room-platform-room .top-4{top:calc(var(--spacing) * 4)}.room-platform-room .-right-12{right:calc(var(--spacing) * -12)}.room-platform-room .right-0{right:calc(var(--spacing) * 0)}.room-platform-room .right-1{right:calc(var(--spacing) * 1)}.room-platform-room .right-2{right:calc(var(--spacing) * 2)}.room-platform-room .right-3{right:calc(var(--spacing) * 3)}.room-platform-room .right-4{right:calc(var(--spacing) * 4)}.room-platform-room .-bottom-12{bottom:calc(var(--spacing) * -12)}.room-platform-room .bottom-0{bottom:calc(var(--spacing) * 0)}.room-platform-room .bottom-1{bottom:calc(var(--spacing) * 1)}.room-platform-room .bottom-2{bottom:calc(var(--spacing) * 2)}.room-platform-room .bottom-3{bottom:calc(var(--spacing) * 3)}.room-platform-room .bottom-4{bottom:calc(var(--spacing) * 4)}.room-platform-room .-left-12{left:calc(var(--spacing) * -12)}.room-platform-room .left-0{left:calc(var(--spacing) * 0)}.room-platform-room .left-1\\/2{left:50%}.room-platform-room .left-2{left:calc(var(--spacing) * 2)}.room-platform-room .left-3{left:calc(var(--spacing) * 3)}.room-platform-room .left-4{left:calc(var(--spacing) * 4)}.room-platform-room .isolate{isolation:isolate}.room-platform-room .z-0{z-index:0}.room-platform-room .z-10{z-index:10}.room-platform-room .z-20{z-index:20}.room-platform-room .z-30{z-index:30}.room-platform-room .z-40{z-index:40}.room-platform-room .z-50{z-index:50}.room-platform-room .z-\\[70\\]{z-index:70}.room-platform-room .order-first{order:-9999}.room-platform-room .order-last{order:9999}.room-platform-room .col-start-2{grid-column-start:2}.room-platform-room .row-span-2{grid-row:span 2/span 2}.room-platform-room .row-start-1{grid-row-start:1}.room-platform-room .container{width:100%}@media (min-width:40rem){.room-platform-room .container{max-width:40rem}}@media (min-width:48rem){.room-platform-room .container{max-width:48rem}}@media (min-width:64rem){.room-platform-room .container{max-width:64rem}}@media (min-width:80rem){.room-platform-room .container{max-width:80rem}}@media (min-width:96rem){.room-platform-room .container{max-width:96rem}}.room-platform-room .m-0{margin:calc(var(--spacing) * 0)}.room-platform-room .m-auto{margin:auto}.room-platform-room .-mx-1{margin-inline:calc(var(--spacing) * -1)}.room-platform-room .-mx-4{margin-inline:calc(var(--spacing) * -4)}.room-platform-room .mx-2{margin-inline:calc(var(--spacing) * 2)}.room-platform-room .mx-3\\.5{margin-inline:calc(var(--spacing) * 3.5)}.room-platform-room .mx-auto{margin-inline:auto}.room-platform-room .-my-2{margin-block:calc(var(--spacing) * -2)}.room-platform-room .my-1{margin-block:calc(var(--spacing) * 1)}.room-platform-room .-mt-4{margin-top:calc(var(--spacing) * -4)}.room-platform-room .mt-2{margin-top:calc(var(--spacing) * 2)}.room-platform-room .mt-3{margin-top:calc(var(--spacing) * 3)}.room-platform-room .mt-4{margin-top:calc(var(--spacing) * 4)}.room-platform-room .mt-auto{margin-top:auto}.room-platform-room .-mb-4{margin-bottom:calc(var(--spacing) * -4)}.room-platform-room .mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.room-platform-room .mb-2{margin-bottom:calc(var(--spacing) * 2)}.room-platform-room .mb-3{margin-bottom:calc(var(--spacing) * 3)}.room-platform-room .-ml-1{margin-left:calc(var(--spacing) * -1)}.room-platform-room .-ml-4{margin-left:calc(var(--spacing) * -4)}.room-platform-room .ml-4{margin-left:calc(var(--spacing) * 4)}.room-platform-room .ml-auto{margin-left:auto}.room-platform-room .no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.room-platform-room .no-scrollbar::-webkit-scrollbar{display:none}.room-platform-room .block{display:block}.room-platform-room .flex{display:flex}.room-platform-room .grid{display:grid}.room-platform-room .hidden{display:none}.room-platform-room .inline{display:inline}.room-platform-room .inline-flex{display:inline-flex}.room-platform-room .inline-grid{display:inline-grid}.room-platform-room .table{display:table}.room-platform-room .table-caption{display:table-caption}.room-platform-room .table-cell{display:table-cell}.room-platform-room .table-row{display:table-row}.room-platform-room .field-sizing-content{field-sizing:content}.room-platform-room .aspect-square{aspect-ratio:1}.room-platform-room .aspect-video{aspect-ratio:var(--aspect-video)}.room-platform-room .size-\\(--cell-size\\){width:var(--cell-size);height:var(--cell-size)}.room-platform-room .size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.room-platform-room .size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.room-platform-room .size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.room-platform-room .size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.room-platform-room .size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.room-platform-room .size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.room-platform-room .size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.room-platform-room .size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.room-platform-room .size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.room-platform-room .size-auto{width:auto;height:auto}.room-platform-room .size-full{width:100%;height:100%}.room-platform-room .h-\\(--cell-size\\){height:var(--cell-size)}.room-platform-room .h-1{height:calc(var(--spacing) * 1)}.room-platform-room .h-4{height:calc(var(--spacing) * 4)}.room-platform-room .h-5{height:calc(var(--spacing) * 5)}.room-platform-room .h-6{height:calc(var(--spacing) * 6)}.room-platform-room .h-7{height:calc(var(--spacing) * 7)}.room-platform-room .h-8{height:calc(var(--spacing) * 8)}.room-platform-room .h-9{height:calc(var(--spacing) * 9)}.room-platform-room .h-10{height:calc(var(--spacing) * 10)}.room-platform-room .h-10\\!{height:calc(var(--spacing) * 10)!important}.room-platform-room .h-12{height:calc(var(--spacing) * 12)}.room-platform-room .h-\\[calc\\(--spacing\\(5\\.25\\)\\)\\]{height:calc(calc(var(--spacing) * 5.25))}.room-platform-room .h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.room-platform-room .h-auto{height:auto}.room-platform-room .h-dvh{height:100dvh}.room-platform-room .h-full{height:100%}.room-platform-room .h-px{height:1px}.room-platform-room .h-screen{height:100vh}.room-platform-room .h-svh{height:100svh}.room-platform-room .max-h-\\(--available-height\\){max-height:var(--available-height)}.room-platform-room .max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.room-platform-room .max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.room-platform-room .max-h-\\[85vh\\]{max-height:85vh}.room-platform-room .max-h-\\[min\\(calc\\(--spacing\\(72\\)---spacing\\(9\\)\\)\\,calc\\(var\\(--available-height\\)---spacing\\(9\\)\\)\\)\\]{max-height:min(calc(calc(var(--spacing) * 72) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)))}.room-platform-room .max-h-full{max-height:100%}.room-platform-room .min-h-0{min-height:calc(var(--spacing) * 0)}.room-platform-room .min-h-8{min-height:calc(var(--spacing) * 8)}.room-platform-room .min-h-16{min-height:calc(var(--spacing) * 16)}.room-platform-room .min-h-18{min-height:calc(var(--spacing) * 18)}.room-platform-room .min-h-\\[320px\\]{min-height:320px}.room-platform-room .min-h-dvh{min-height:100dvh}.room-platform-room .min-h-svh{min-height:100svh}.room-platform-room .w-\\(--anchor-width\\){width:var(--anchor-width)}.room-platform-room .w-\\(--cell-size\\){width:var(--cell-size)}.room-platform-room .w-\\(--radix-dropdown-menu-trigger-width\\){width:var(--radix-dropdown-menu-trigger-width)}.room-platform-room .w-4{width:calc(var(--spacing) * 4)}.room-platform-room .w-5{width:calc(var(--spacing) * 5)}.room-platform-room .w-9{width:calc(var(--spacing) * 9)}.room-platform-room .w-48{width:calc(var(--spacing) * 48)}.room-platform-room .w-72{width:calc(var(--spacing) * 72)}.room-platform-room .w-\\[var\\(--sidebar-width\\)\\]{width:var(--sidebar-width)}.room-platform-room .w-auto{width:auto}.room-platform-room .w-dvw{width:100dvw}.room-platform-room .w-fit{width:fit-content}.room-platform-room .w-full{width:100%}.room-platform-room .w-full\\!{width:100%!important}.room-platform-room .w-screen{width:100vw}.room-platform-room .max-w-\\(--available-width\\){max-width:var(--available-width)}.room-platform-room .max-w-\\[40\\%\\]{max-width:40%}.room-platform-room .max-w-\\[calc\\(100\\%-1\\.5rem\\)\\]{max-width:calc(100% - 1.5rem)}.room-platform-room .max-w-\\[calc\\(100\\%-1rem\\)\\]{max-width:calc(100% - 1rem)}.room-platform-room .max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.room-platform-room .max-w-\\[var\\(--skeleton-width\\)\\]{max-width:var(--skeleton-width)}.room-platform-room .max-w-full{max-width:100%}.room-platform-room .max-w-none{max-width:none}.room-platform-room .max-w-xs{max-width:var(--container-xs)}.room-platform-room .min-w-\\(--cell-size\\){min-width:var(--cell-size)}.room-platform-room .min-w-0{min-width:calc(var(--spacing) * 0)}.room-platform-room .min-w-5{min-width:calc(var(--spacing) * 5)}.room-platform-room .min-w-7{min-width:calc(var(--spacing) * 7)}.room-platform-room .min-w-8{min-width:calc(var(--spacing) * 8)}.room-platform-room .min-w-9{min-width:calc(var(--spacing) * 9)}.room-platform-room .min-w-16{min-width:calc(var(--spacing) * 16)}.room-platform-room .min-w-32{min-width:calc(var(--spacing) * 32)}.room-platform-room .min-w-36{min-width:calc(var(--spacing) * 36)}.room-platform-room .min-w-\\[96px\\]{min-width:96px}.room-platform-room .min-w-\\[calc\\(var\\(--anchor-width\\)\\+--spacing\\(7\\)\\)\\]{min-width:calc(var(--anchor-width) + calc(var(--spacing) * 7))}.room-platform-room .flex-1{flex:1}.room-platform-room .flex-none{flex:none}.room-platform-room .shrink-0{flex-shrink:0}.room-platform-room .grow-0{flex-grow:0}.room-platform-room .basis-full{flex-basis:100%}.room-platform-room .caption-bottom{caption-side:bottom}.room-platform-room .origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.room-platform-room .origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.room-platform-room .origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.room-platform-room .origin-\\(--transform-origin\\){transform-origin:var(--transform-origin)}.room-platform-room .-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .translate-y-\\[calc\\(100\\%-0\\.75rem\\)\\]{--tw-translate-y:calc(100% - .75rem);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .-scale-x-100{--tw-scale-x:calc(100% * -1);scale:var(--tw-scale-x) var(--tw-scale-y)}.room-platform-room .rotate-45{rotate:45deg}.room-platform-room .rotate-90{rotate:90deg}.room-platform-room .transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.room-platform-room .animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.room-platform-room .animate-pulse{animation:var(--animate-pulse)}.room-platform-room .animate-spin{animation:var(--animate-spin)}.room-platform-room .cursor-default{cursor:default}.room-platform-room .cursor-not-allowed{cursor:not-allowed}.room-platform-room .cursor-pointer{cursor:pointer}.room-platform-room .cursor-text{cursor:text}.room-platform-room .touch-manipulation{touch-action:manipulation}.room-platform-room .resize{resize:both}.room-platform-room .resize-none{resize:none}.room-platform-room .scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.room-platform-room .scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.room-platform-room .list-disc{list-style-type:disc}.room-platform-room .auto-rows-min{grid-auto-rows:min-content}.room-platform-room .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.room-platform-room .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.room-platform-room .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.room-platform-room .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.room-platform-room .grid-rows-\\[auto_1fr\\]{grid-template-rows:auto 1fr}.room-platform-room .grid-rows-\\[max-content_minmax\\(0\\,1fr\\)\\]{grid-template-rows:max-content minmax(0,1fr)}.room-platform-room .flex-col{flex-direction:column}.room-platform-room .flex-col-reverse{flex-direction:column-reverse}.room-platform-room .flex-row{flex-direction:row}.room-platform-room .flex-wrap{flex-wrap:wrap}.room-platform-room .place-content-center{place-content:center}.room-platform-room .place-items-center{place-items:center}.room-platform-room .content-start{align-content:flex-start}.room-platform-room .items-center{align-items:center}.room-platform-room .items-end{align-items:flex-end}.room-platform-room .items-start{align-items:flex-start}.room-platform-room .items-stretch{align-items:stretch}.room-platform-room .justify-between{justify-content:space-between}.room-platform-room .justify-center{justify-content:center}.room-platform-room .justify-end{justify-content:flex-end}.room-platform-room .justify-start{justify-content:flex-start}.room-platform-room .gap-0{gap:calc(var(--spacing) * 0)}.room-platform-room .gap-0\\.5{gap:calc(var(--spacing) * .5)}.room-platform-room .gap-1{gap:calc(var(--spacing) * 1)}.room-platform-room .gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.room-platform-room .gap-2{gap:calc(var(--spacing) * 2)}.room-platform-room .gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.room-platform-room .gap-3{gap:calc(var(--spacing) * 3)}.room-platform-room .gap-4{gap:calc(var(--spacing) * 4)}.room-platform-room .gap-5{gap:calc(var(--spacing) * 5)}.room-platform-room .gap-\\[--spacing\\(var\\(--gap\\)\\)\\]{gap:calc(var(--spacing) * var(--gap))}.room-platform-room .self-start{align-self:flex-start}.room-platform-room .self-stretch{align-self:stretch}.room-platform-room .justify-self-end{justify-self:flex-end}.room-platform-room .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-platform-room .overflow-auto{overflow:auto}.room-platform-room .overflow-hidden{overflow:hidden}.room-platform-room .overflow-x-auto{overflow-x:auto}.room-platform-room .overflow-x-hidden{overflow-x:hidden}.room-platform-room .overflow-y-auto{overflow-y:auto}.room-platform-room .overscroll-contain{overscroll-behavior:contain}.room-platform-room .rounded-\\(--cell-radius\\){border-radius:var(--cell-radius)}.room-platform-room .rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.room-platform-room .rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.room-platform-room .rounded-\\[2px\\]{border-radius:2px}.room-platform-room .rounded-\\[4px\\]{border-radius:4px}.room-platform-room .rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\]{border-radius:calc(var(--radius) - 3px)}.room-platform-room .rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\]{border-radius:min(var(--radius-md), 10px)}.room-platform-room .rounded-\\[min\\(var\\(--radius-md\\)\\,12px\\)\\]{border-radius:min(var(--radius-md), 12px)}.room-platform-room .rounded-full{border-radius:3.40282e38px}.room-platform-room .rounded-lg{border-radius:var(--radius)}.room-platform-room .rounded-md{border-radius:calc(var(--radius) * .8)}.room-platform-room .rounded-none{border-radius:0}.room-platform-room .rounded-sm{border-radius:calc(var(--radius) * .6)}.room-platform-room .rounded-xl{border-radius:calc(var(--radius) * 1.4)}.room-platform-room .rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.room-platform-room .rounded-l-\\(--cell-radius\\){border-top-left-radius:var(--cell-radius);border-bottom-left-radius:var(--cell-radius)}.room-platform-room .rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.room-platform-room .rounded-r-\\(--cell-radius\\){border-top-right-radius:var(--cell-radius);border-bottom-right-radius:var(--cell-radius)}.room-platform-room .rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.room-platform-room .border{border-style:var(--tw-border-style);border-width:1px}.room-platform-room .border-0{border-style:var(--tw-border-style);border-width:0}.room-platform-room .border-2{border-style:var(--tw-border-style);border-width:2px}.room-platform-room .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.room-platform-room .border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.room-platform-room .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.room-platform-room .border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .border-dashed{--tw-border-style:dashed;border-style:dashed}.room-platform-room .border-\\[\\#2563EB\\]{border-color:#2563eb}.room-platform-room .border-amber-200{border-color:var(--color-amber-200)}.room-platform-room .border-border{border-color:var(--border)}.room-platform-room .border-input{border-color:var(--input)}.room-platform-room .border-liveclass-orange{border-color:var(--color-liveclass-orange)}.room-platform-room .border-liveclass-orange\\/30{border-color:#eb66194d}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-liveclass-orange\\/30{border-color:color-mix(in oklab, var(--color-liveclass-orange) 30%, transparent)}}.room-platform-room .border-primary\\/10{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-primary\\/10{border-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.room-platform-room .border-red-200{border-color:var(--color-red-200)}.room-platform-room .border-red-300\\/40{border-color:#ffa3a366}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-red-300\\/40{border-color:color-mix(in oklab, var(--color-red-300) 40%, transparent)}}.room-platform-room .border-red-600{border-color:var(--color-red-600)}.room-platform-room .border-sidebar-border{border-color:var(--sidebar-border)}.room-platform-room .border-slate-200{border-color:var(--color-slate-200)}.room-platform-room .border-slate-300{border-color:var(--color-slate-300)}.room-platform-room .border-transparent{border-color:#0000}.room-platform-room .border-white{border-color:var(--color-white)}.room-platform-room .border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-white\\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.room-platform-room .border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-white\\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.room-platform-room .border-white\\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-white\\/30{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.room-platform-room .bg-amber-50{background-color:var(--color-amber-50)}.room-platform-room .bg-background{background-color:var(--background)}.room-platform-room .bg-black{background-color:var(--color-black)}.room-platform-room .bg-black\\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-black\\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.room-platform-room .bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-black\\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.room-platform-room .bg-border{background-color:var(--border)}.room-platform-room .bg-card{background-color:var(--card)}.room-platform-room .bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.room-platform-room .bg-input{background-color:var(--input)}.room-platform-room .bg-liveclass-orange{background-color:var(--color-liveclass-orange)}.room-platform-room .bg-liveclass-orange\\/10{background-color:#eb66191a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-liveclass-orange\\/10{background-color:color-mix(in oklab, var(--color-liveclass-orange) 10%, transparent)}}.room-platform-room .bg-muted,.room-platform-room .bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.room-platform-room .bg-popover{background-color:var(--popover)}.room-platform-room .bg-primary,.room-platform-room .bg-primary\\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-primary\\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.room-platform-room .bg-red-50{background-color:var(--color-red-50)}.room-platform-room .bg-red-600{background-color:var(--color-red-600)}.room-platform-room .bg-secondary{background-color:var(--secondary)}.room-platform-room .bg-sidebar{background-color:var(--sidebar)}.room-platform-room .bg-sidebar-border{background-color:var(--sidebar-border)}.room-platform-room .bg-slate-50{background-color:var(--color-slate-50)}.room-platform-room .bg-slate-900{background-color:var(--color-slate-900)}.room-platform-room .bg-slate-900\\/45{background-color:#0f172b73}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-900\\/45{background-color:color-mix(in oklab, var(--color-slate-900) 45%, transparent)}}.room-platform-room .bg-slate-950{background-color:var(--color-slate-950)}.room-platform-room .bg-slate-950\\/40{background-color:#02061866}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-950\\/40{background-color:color-mix(in oklab, var(--color-slate-950) 40%, transparent)}}.room-platform-room .bg-slate-950\\/75{background-color:#020618bf}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-950\\/75{background-color:color-mix(in oklab, var(--color-slate-950) 75%, transparent)}}.room-platform-room .bg-slate-950\\/80{background-color:#020618cc}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-950\\/80{background-color:color-mix(in oklab, var(--color-slate-950) 80%, transparent)}}.room-platform-room .bg-slate-950\\/90{background-color:#020618e6}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-950\\/90{background-color:color-mix(in oklab, var(--color-slate-950) 90%, transparent)}}.room-platform-room .bg-transparent{background-color:#0000}.room-platform-room .bg-white{background-color:var(--color-white)}.room-platform-room .bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-white\\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.room-platform-room .bg-clip-padding{background-clip:padding-box}.room-platform-room .fill-primary{fill:var(--primary)}.room-platform-room .object-contain{object-fit:contain}.room-platform-room .object-cover{object-fit:cover}.room-platform-room .p-0{padding:calc(var(--spacing) * 0)}.room-platform-room .p-1{padding:calc(var(--spacing) * 1)}.room-platform-room .p-2{padding:calc(var(--spacing) * 2)}.room-platform-room .p-2\\.5{padding:calc(var(--spacing) * 2.5)}.room-platform-room .p-3{padding:calc(var(--spacing) * 3)}.room-platform-room .p-4{padding:calc(var(--spacing) * 4)}.room-platform-room .p-6{padding:calc(var(--spacing) * 6)}.room-platform-room .p-\\[3px\\]{padding:3px}.room-platform-room .px-\\(--cell-size\\){padding-inline:var(--cell-size)}.room-platform-room .px-1{padding-inline:calc(var(--spacing) * 1)}.room-platform-room .px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.room-platform-room .px-2{padding-inline:calc(var(--spacing) * 2)}.room-platform-room .px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.room-platform-room .px-3{padding-inline:calc(var(--spacing) * 3)}.room-platform-room .px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.room-platform-room .px-4{padding-inline:calc(var(--spacing) * 4)}.room-platform-room .py-0\\.5{padding-block:calc(var(--spacing) * .5)}.room-platform-room .py-1{padding-block:calc(var(--spacing) * 1)}.room-platform-room .py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.room-platform-room .py-2{padding-block:calc(var(--spacing) * 2)}.room-platform-room .py-3{padding-block:calc(var(--spacing) * 3)}.room-platform-room .py-4{padding-block:calc(var(--spacing) * 4)}.room-platform-room .pt-2{padding-top:calc(var(--spacing) * 2)}.room-platform-room .pt-4{padding-top:calc(var(--spacing) * 4)}.room-platform-room .pr-2{padding-right:calc(var(--spacing) * 2)}.room-platform-room .pr-8{padding-right:calc(var(--spacing) * 8)}.room-platform-room .pr-10{padding-right:calc(var(--spacing) * 10)}.room-platform-room .pr-20{padding-right:calc(var(--spacing) * 20)}.room-platform-room .pb-2{padding-bottom:calc(var(--spacing) * 2)}.room-platform-room .pb-3{padding-bottom:calc(var(--spacing) * 3)}.room-platform-room .pl-1\\.5{padding-left:calc(var(--spacing) * 1.5)}.room-platform-room .pl-2{padding-left:calc(var(--spacing) * 2)}.room-platform-room .pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.room-platform-room .pl-4{padding-left:calc(var(--spacing) * 4)}.room-platform-room .text-center{text-align:center}.room-platform-room .text-left{text-align:left}.room-platform-room .align-middle{vertical-align:middle}.room-platform-room .text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.room-platform-room .text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .text-sm\\!{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.room-platform-room .text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.room-platform-room .text-\\[0\\.8rem\\]{font-size:.8rem}.room-platform-room .leading-none{--tw-leading:1;line-height:1}.room-platform-room .leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.room-platform-room .leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.room-platform-room .font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.room-platform-room .font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.room-platform-room .font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.room-platform-room .font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.room-platform-room .tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.room-platform-room .text-balance{text-wrap:balance}.room-platform-room .whitespace-nowrap{white-space:nowrap}.room-platform-room .text-\\[\\#2563EB\\]{color:#2563eb}.room-platform-room .text-amber-700{color:var(--color-amber-700)}.room-platform-room .text-card-foreground{color:var(--card-foreground)}.room-platform-room .text-current{color:currentColor}.room-platform-room .text-destructive{color:var(--destructive)}.room-platform-room .text-foreground,.room-platform-room .text-foreground\\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-foreground\\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.room-platform-room .text-liveclass-orange{color:var(--color-liveclass-orange)}.room-platform-room .text-muted-foreground{color:var(--muted-foreground)}.room-platform-room .text-popover-foreground{color:var(--popover-foreground)}.room-platform-room .text-primary{color:var(--primary)}.room-platform-room .text-primary-foreground{color:var(--primary-foreground)}.room-platform-room .text-red-100{color:var(--color-red-100)}.room-platform-room .text-red-200{color:var(--color-red-200)}.room-platform-room .text-secondary-foreground{color:var(--secondary-foreground)}.room-platform-room .text-sidebar-foreground,.room-platform-room .text-sidebar-foreground\\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-sidebar-foreground\\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.room-platform-room .text-slate-300{color:var(--color-slate-300)}.room-platform-room .text-slate-400{color:var(--color-slate-400)}.room-platform-room .text-slate-500{color:var(--color-slate-500)}.room-platform-room .text-slate-700{color:var(--color-slate-700)}.room-platform-room .text-slate-950{color:var(--color-slate-950)}.room-platform-room .text-white{color:var(--color-white)}.room-platform-room .text-white\\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-white\\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.room-platform-room .text-white\\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-white\\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.room-platform-room .text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-white\\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.room-platform-room .uppercase{text-transform:uppercase}.room-platform-room .tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.room-platform-room .underline-offset-4{text-underline-offset:4px}.room-platform-room .opacity-0{opacity:0}.room-platform-room .opacity-50{opacity:.5}.room-platform-room .opacity-70{opacity:.7}.room-platform-room .shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring-\\[\\#2563EB\\]\\/15{--tw-ring-color:oklab(54.615% -.026671 -.213549/.15)}.room-platform-room .ring-emerald-400{--tw-ring-color:var(--color-emerald-400)}.room-platform-room .ring-foreground\\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .ring-foreground\\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.room-platform-room .ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.room-platform-room .ring-white\\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .ring-white\\/10{--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.room-platform-room .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.room-platform-room .outline-hidden{outline-offset:2px;outline:2px solid #0000}}.room-platform-room .outline{outline-style:var(--tw-outline-style);outline-width:1px}.room-platform-room .blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.room-platform-room .blur-\\[3px\\]{--tw-blur:blur(3px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.room-platform-room .blur-\\[6px\\]{--tw-blur:blur(6px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.room-platform-room .drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.room-platform-room .backdrop-blur-\\[1px\\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.room-platform-room .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[width\\,transform\\,opacity\\]{transition-property:width,transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-none{transition-property:none}.room-platform-room .duration-100{--tw-duration:.1s;transition-duration:.1s}.room-platform-room .duration-200{--tw-duration:.2s;transition-duration:.2s}.room-platform-room .ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.room-platform-room .ease-linear{--tw-ease:linear;transition-timing-function:linear}.room-platform-room .ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.room-platform-room .fade-in-0{--tw-enter-opacity:0}.room-platform-room .outline-none{--tw-outline-style:none;outline-style:none}.room-platform-room .select-none{-webkit-user-select:none;user-select:none}.room-platform-room .zoom-in-95{--tw-enter-scale:.95}.room-platform-room .\\[--cell-radius\\:var\\(--radius-md\\)\\]{--cell-radius:var(--radius-md)}.room-platform-room .\\[--cell-size\\:--spacing\\(7\\)\\]{--cell-size:calc(var(--spacing) * 7)}.room-platform-room .\\[room-platform-debug\\:camera\\.reconcile\\]{room-platform-debug:camera.reconcile}.room-platform-room .\\[room-platform-debug\\:camera\\.upstream\\.paused\\.completed\\]{room-platform-debug:camera.upstream.paused.completed}.room-platform-room .\\[room-platform-debug\\:stats\\.upload\\]{room-platform-debug:stats.upload}.room-platform-room .paused{animation-play-state:paused}.room-platform-room .ring-inset{--tw-ring-inset:inset}.room-platform-room .running{animation-play-state:running}.room-platform-room :is(.\\*\\:w-full>*){width:100%}.room-platform-room .group-focus-within\\/menu-item\\:opacity-100:is(:where(.group\\/menu-item):focus-within *){opacity:1}@media (hover:hover){.room-platform-room .group-hover\\/menu-item\\:opacity-100:is(:where(.group\\/menu-item):hover *){opacity:1}}.room-platform-room .group-focus\\/dropdown-menu-item\\:text-accent-foreground:is(:where(.group\\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.room-platform-room .group-has-disabled\\/field\\:opacity-50:is(:where(.group\\/field):has(:disabled) *){opacity:.5}.room-platform-room .group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pr-8:is(:where(.group\\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.room-platform-room .group-has-data-\\[slot\\=combobox-clear\\]\\/input-group\\:hidden:is(:where(.group\\/input-group):has([data-slot=combobox-clear]) *){display:none}.room-platform-room .group-has-data-horizontal\\/field\\:text-balance:is(:where(.group\\/field):has(:where([data-orientation=horizontal])) *){text-wrap:balance}.room-platform-room .group-has-\\[\\>input\\]\\/input-group\\:pt-2:is(:where(.group\\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2)}.room-platform-room .group-has-\\[\\>input\\]\\/input-group\\:pb-2:is(:where(.group\\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2)}.room-platform-room .group-has-\\[\\>svg\\]\\/alert\\:col-start-2:is(:where(.group\\/alert):has(>svg) *){grid-column-start:2}.room-platform-room .group-data-empty\\/combobox-content\\:flex:is(:where(.group\\/combobox-content)[data-empty] *){display:flex}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:size-8\\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+1rem\\)\\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem)}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+1rem\\+2px\\)\\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[var\\(--sidebar-width-icon\\)\\]:is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:p-0\\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:p-2\\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.room-platform-room .group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.group)[data-disabled=true] *),.room-platform-room .group-data-\\[disabled\\=true\\]\\/field\\:opacity-50:is(:where(.group\\/field)[data-disabled=true] *),.room-platform-room .group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.group\\/input-group)[data-disabled=true] *){opacity:.5}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:relative:is(:where(.group\\/day)[data-focused=true] *){position:relative}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:z-10:is(:where(.group\\/day)[data-focused=true] *){z-index:10}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:border-ring:is(:where(.group\\/day)[data-focused=true] *){border-color:var(--ring)}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-\\[3px\\]:is(:where(.group\\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50:is(:where(.group\\/day)[data-focused=true] *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50:is(:where(.group\\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.room-platform-room .group-data-\\[side\\=left\\]\\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.room-platform-room .group-data-\\[side\\=left\\]\\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.room-platform-room .group-data-\\[side\\=right\\]\\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.room-platform-room .group-data-\\[side\\=right\\]\\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.room-platform-room .group-data-\\[side\\=right\\]\\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .group-data-\\[size\\=sm\\]\\/alert-dialog-content\\:grid:is(:where(.group\\/alert-dialog-content)[data-size=sm] *){display:grid}.room-platform-room .group-data-\\[size\\=sm\\]\\/alert-dialog-content\\:grid-cols-2:is(:where(.group\\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:p-3:is(:where(.group\\/card)[data-size=sm] *){padding:calc(var(--spacing) * 3)}.room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:px-3:is(:where(.group\\/card)[data-size=sm] *){padding-inline:calc(var(--spacing) * 3)}.room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:text-sm:is(:where(.group\\/card)[data-size=sm] *){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *){border-radius:0}.room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *){padding-inline:calc(var(--spacing) * 2)}.room-platform-room .group-data-\\[variant\\=floating\\]\\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.room-platform-room .group-data-\\[variant\\=floating\\]\\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .group-data-\\[variant\\=floating\\]\\:ring-1:is(:where(.group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .group-data-\\[variant\\=floating\\]\\:ring-sidebar-border:is(:where(.group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent:is(:where(.group\\/tabs-list)[data-variant=line] *){background-color:#0000}.room-platform-room .group-data-\\[variant\\=outline\\]\\/field-group\\:-mb-2:is(:where(.group\\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.room-platform-room .group-data-horizontal\\/tabs\\:h-8:is(:where(.group\\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing) * 8)}.room-platform-room .group-data-vertical\\/tabs\\:h-fit:is(:where(.group\\/tabs):where([data-orientation=vertical]) *){height:fit-content}.room-platform-room .group-data-vertical\\/tabs\\:w-full:is(:where(.group\\/tabs):where([data-orientation=vertical]) *){width:100%}.room-platform-room .group-data-vertical\\/tabs\\:flex-col:is(:where(.group\\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.room-platform-room .group-data-vertical\\/tabs\\:justify-start:is(:where(.group\\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.room-platform-room .peer-hover\\/menu-button\\:text-sidebar-accent-foreground:is(:where(.peer\\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.room-platform-room .peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.room-platform-room .peer-disabled\\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.room-platform-room .peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5:is(:where(.peer\\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.room-platform-room .peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5:is(:where(.peer\\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.room-platform-room .peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1:is(:where(.peer\\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.room-platform-room .peer-data-active\\/menu-button\\:text-sidebar-accent-foreground:is(:is(:where(.peer\\/menu-button):where([data-state=active]),:where(.peer\\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.room-platform-room .file\\:inline-flex::file-selector-button{display:inline-flex}.room-platform-room .file\\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.room-platform-room .file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.room-platform-room .file\\:bg-transparent::file-selector-button{background-color:#0000}.room-platform-room .file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.room-platform-room .file\\:text-foreground::file-selector-button{color:var(--foreground)}.room-platform-room .placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.room-platform-room .after\\:absolute:after{content:var(--tw-content);position:absolute}.room-platform-room .after\\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.room-platform-room .after\\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -3)}.room-platform-room .after\\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -2)}.room-platform-room .after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.room-platform-room .after\\:start-1\\/2:after{content:var(--tw-content);inset-inline-start:50%}.room-platform-room .after\\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.room-platform-room .after\\:left-0:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.room-platform-room .after\\:w-4:after{content:var(--tw-content);width:calc(var(--spacing) * 4)}.room-platform-room .after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.room-platform-room .after\\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.room-platform-room .after\\:bg-muted:after{content:var(--tw-content);background-color:var(--muted)}.room-platform-room .after\\:opacity-0:after{content:var(--tw-content);opacity:0}.room-platform-room .after\\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.room-platform-room .group-data-horizontal\\/tabs\\:after\\:inset-x-0:is(:where(.group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.room-platform-room .group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\]:is(:where(.group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.room-platform-room .group-data-horizontal\\/tabs\\:after\\:h-0\\.5:is(:where(.group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.room-platform-room .group-data-vertical\\/tabs\\:after\\:inset-y-0:is(:where(.group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.room-platform-room .group-data-vertical\\/tabs\\:after\\:-right-1:is(:where(.group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.room-platform-room .group-data-vertical\\/tabs\\:after\\:w-0\\.5:is(:where(.group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.room-platform-room .last\\:mt-0:last-child{margin-top:calc(var(--spacing) * 0)}.room-platform-room .focus-within\\:border-ring:focus-within{border-color:var(--ring)}.room-platform-room .focus-within\\:ring-3:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .focus-within\\:ring-ring\\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .focus-within\\:ring-ring\\/50:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}@media (hover:hover){.room-platform-room .hover\\:border-slate-300:hover{border-color:var(--color-slate-300)}.room-platform-room .hover\\:border-slate-400:hover{border-color:var(--color-slate-400)}.room-platform-room .hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .hover\\:bg-liveclass-orange\\/90:hover{background-color:#eb6619e6}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-liveclass-orange\\/90:hover{background-color:color-mix(in oklab, var(--color-liveclass-orange) 90%, transparent)}}.room-platform-room .hover\\:bg-muted:hover,.room-platform-room .hover\\:bg-muted\\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.room-platform-room .hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.room-platform-room .hover\\:bg-red-500\\/15:hover{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-red-500\\/15:hover{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.room-platform-room .hover\\:bg-red-700:hover{background-color:var(--color-red-700)}.room-platform-room .hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.room-platform-room .hover\\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.room-platform-room .hover\\:bg-slate-100:hover{background-color:var(--color-slate-100)}.room-platform-room .hover\\:bg-slate-900:hover{background-color:var(--color-slate-900)}.room-platform-room .hover\\:bg-transparent:hover{background-color:#0000}.room-platform-room .hover\\:bg-white:hover{background-color:var(--color-white)}.room-platform-room .hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.room-platform-room .hover\\:bg-white\\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-white\\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.room-platform-room .hover\\:text-foreground:hover{color:var(--foreground)}.room-platform-room .hover\\:text-muted-foreground:hover{color:var(--muted-foreground)}.room-platform-room .hover\\:text-red-600:hover{color:var(--color-red-600)}.room-platform-room .hover\\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.room-platform-room .hover\\:text-white:hover{color:var(--color-white)}.room-platform-room .hover\\:underline:hover{text-decoration-line:underline}.room-platform-room .hover\\:opacity-100:hover{opacity:1}.room-platform-room .hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .hover\\:group-data-\\[collapsible\\=offcanvas\\]\\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.room-platform-room .hover\\:after\\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.room-platform-room .focus\\:z-10:focus{z-index:10}.room-platform-room .focus\\:bg-accent:focus{background-color:var(--accent)}.room-platform-room .focus\\:text-accent-foreground:focus,.room-platform-room :is(.focus\\:\\*\\*\\:text-accent-foreground:focus *),.room-platform-room :is(.not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.room-platform-room .focus-visible\\:z-10:focus-visible{z-index:10}.room-platform-room .focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .focus-visible\\:border-red-300:focus-visible{border-color:var(--color-red-300)}.room-platform-room .focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.room-platform-room .focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .focus-visible\\:ring-3:focus-visible,.room-platform-room .focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .focus-visible\\:ring-red-200:focus-visible{--tw-ring-color:var(--color-red-200)}.room-platform-room .focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.room-platform-room .focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.room-platform-room .focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.room-platform-room :is(.\\*\\:focus-visible\\:relative>*):focus-visible{position:relative}.room-platform-room :is(.\\*\\:focus-visible\\:z-10>*):focus-visible{z-index:10}.room-platform-room .active\\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.room-platform-room .active\\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.room-platform-room .active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .disabled\\:pointer-events-none:disabled{pointer-events:none}.room-platform-room .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.room-platform-room .disabled\\:border-white\\/35:disabled{border-color:#ffffff59}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:border-white\\/35:disabled{border-color:color-mix(in oklab, var(--color-white) 35%, transparent)}}.room-platform-room .disabled\\:bg-input\\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:bg-input\\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.room-platform-room .disabled\\:bg-red-600\\/70:disabled{background-color:#e40014b3}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:bg-red-600\\/70:disabled{background-color:color-mix(in oklab, var(--color-red-600) 70%, transparent)}}.room-platform-room .disabled\\:bg-transparent:disabled{background-color:#0000}.room-platform-room .disabled\\:bg-white\\/5:disabled{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:bg-white\\/5:disabled{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.room-platform-room .disabled\\:text-white:disabled{color:var(--color-white)}.room-platform-room .disabled\\:text-white\\/65:disabled{color:#ffffffa6}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:text-white\\/65:disabled{color:color-mix(in oklab, var(--color-white) 65%, transparent)}}.room-platform-room .disabled\\:opacity-50:disabled{opacity:.5}.room-platform-room :where([data-side=left]) .in-data-\\[side\\=left\\]\\:cursor-w-resize{cursor:w-resize}.room-platform-room :where([data-side=right]) .in-data-\\[side\\=right\\]\\:cursor-e-resize{cursor:e-resize}.room-platform-room :where([data-slot=button-group]) .in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}.room-platform-room :where([data-slot=card-content]) .in-data-\\[slot\\=card-content\\]\\:bg-transparent{background-color:#0000}.room-platform-room :where([data-slot=combobox-content]) .in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit:focus-within{border-color:inherit}.room-platform-room :where([data-slot=combobox-content]) .in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room :where([data-slot=popover-content]) .in-data-\\[slot\\=popover-content\\]\\:bg-transparent{background-color:#0000}.room-platform-room .has-disabled\\:pointer-events-none:has(:disabled){pointer-events:none}.room-platform-room .has-disabled\\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.room-platform-room .has-disabled\\:bg-input\\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-disabled\\:bg-input\\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.room-platform-room .has-disabled\\:opacity-50:has(:disabled){opacity:.5}.room-platform-room .has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.room-platform-room .has-aria-invalid\\:border-destructive:has([aria-invalid=true]){border-color:var(--destructive)}.room-platform-room .has-aria-invalid\\:ring-3:has([aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .has-aria-invalid\\:ring-destructive\\/20:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-aria-invalid\\:ring-destructive\\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-1:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1)}.room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-3:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 3)}.room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *):has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-1:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1)}.room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-3:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 3)}.room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *):has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.room-platform-room .has-data-\\[slot\\=alert-action\\]\\:relative:has([data-slot=alert-action]){position:relative}.room-platform-room .has-data-\\[slot\\=alert-action\\]\\:pr-18:has([data-slot=alert-action]){padding-right:calc(var(--spacing) * 18)}.room-platform-room .has-data-\\[slot\\=alert-dialog-media\\]\\:grid-rows-\\[auto_auto_1fr\\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.room-platform-room .has-data-\\[slot\\=alert-dialog-media\\]\\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 4)}.room-platform-room .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.room-platform-room .has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\]:has([data-slot=card-description]){grid-template-rows:auto auto}.room-platform-room .has-data-\\[slot\\=card-footer\\]\\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing) * 0)}.room-platform-room .has-data-\\[slot\\=combobox-chip\\]\\:px-1:has([data-slot=combobox-chip]){padding-inline:calc(var(--spacing) * 1)}.room-platform-room .has-data-\\[slot\\=combobox-chip-remove\\]\\:pr-0:has([data-slot=combobox-chip-remove]){padding-right:calc(var(--spacing) * 0)}.room-platform-room .has-data-\\[variant\\=inset\\]\\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.room-platform-room .has-data-checked\\:border-primary\\/30:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-data-checked\\:border-primary\\/30:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.room-platform-room .has-data-checked\\:bg-primary\\/5:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-data-checked\\:bg-primary\\/5:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.room-platform-room .has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}.room-platform-room .has-\\[\\>\\[data-slot\\=checkbox-group\\]\\]\\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:w-full:has(>[data-slot=field]){width:100%}.room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:flex-col:has(>[data-slot=field]){flex-direction:column}.room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:rounded-lg:has(>[data-slot=field]){border-radius:var(--radius)}.room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.room-platform-room .has-\\[\\>\\[data-slot\\=radio-group\\]\\]\\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.room-platform-room .has-\\[\\>button\\]\\:mr-\\[-0\\.3rem\\]:has(>button){margin-right:-.3rem}.room-platform-room .has-\\[\\>button\\]\\:ml-\\[-0\\.3rem\\]:has(>button){margin-left:-.3rem}.room-platform-room .has-\\[\\>img\\:first-child\\]\\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing) * 0)}.room-platform-room .has-\\[\\>kbd\\]\\:mr-\\[-0\\.15rem\\]:has(>kbd){margin-right:-.15rem}.room-platform-room .has-\\[\\>kbd\\]\\:ml-\\[-0\\.15rem\\]:has(>kbd){margin-left:-.15rem}.room-platform-room .has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\]:has(>svg){grid-template-columns:auto 1fr}.room-platform-room .has-\\[\\>svg\\]\\:gap-x-2:has(>svg){column-gap:calc(var(--spacing) * 2)}.room-platform-room .has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(var(--spacing) * 0)}.room-platform-room .has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.room-platform-room .aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.room-platform-room .aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.room-platform-room .aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.room-platform-room .aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.room-platform-room .aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.room-platform-room .aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.room-platform-room .aria-expanded\\:opacity-100[aria-expanded=true]{opacity:1}.room-platform-room .aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.room-platform-room .aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .aria-invalid\\:aria-checked\\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--primary)}.room-platform-room .aria-pressed\\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.room-platform-room .aria-selected\\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.room-platform-room .data-empty\\:p-0[data-empty]{padding:calc(var(--spacing) * 0)}.room-platform-room .data-highlighted\\:bg-accent[data-highlighted]{background-color:var(--accent)}.room-platform-room .data-highlighted\\:text-accent-foreground[data-highlighted],.room-platform-room :is(.not-data-\\[variant\\=destructive\\]\\:data-highlighted\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive])[data-highlighted] *){color:var(--accent-foreground)}.room-platform-room .data-inset\\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.room-platform-room .data-placeholder\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.room-platform-room .data-pressed\\:bg-transparent[data-pressed]{background-color:#0000}.room-platform-room .data-\\[align-trigger\\=true\\]\\:animate-none[data-align-trigger=true]{animation:none}.room-platform-room .data-\\[chips\\=true\\]\\:min-w-\\(--anchor-width\\)[data-chips=true]{min-width:var(--anchor-width)}.room-platform-room .data-\\[invalid\\=true\\]\\:text-destructive[data-invalid=true]{color:var(--destructive)}.room-platform-room .data-\\[lk-enabled\\=true\\]\\:border-white[data-lk-enabled=true]{border-color:var(--color-white)}.room-platform-room .data-\\[lk-enabled\\=true\\]\\:bg-white[data-lk-enabled=true]{background-color:var(--color-white)}.room-platform-room .data-\\[lk-enabled\\=true\\]\\:text-slate-950[data-lk-enabled=true]{color:var(--color-slate-950)}@media (hover:hover){.room-platform-room .data-\\[lk-enabled\\=true\\]\\:hover\\:bg-white[data-lk-enabled=true]:hover{background-color:var(--color-white)}}.room-platform-room .data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\)[data-position=popper]{height:var(--radix-select-trigger-height)}.room-platform-room .data-\\[position\\=popper\\]\\:w-full[data-position=popper]{width:100%}.room-platform-room .data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.room-platform-room .data-\\[range-end\\=true\\]\\:rounded-\\(--cell-radius\\)[data-range-end=true]{border-radius:var(--cell-radius)}.room-platform-room .data-\\[range-end\\=true\\]\\:rounded-r-\\(--cell-radius\\)[data-range-end=true]{border-top-right-radius:var(--cell-radius);border-bottom-right-radius:var(--cell-radius)}.room-platform-room .data-\\[range-end\\=true\\]\\:bg-primary[data-range-end=true]{background-color:var(--primary)}.room-platform-room .data-\\[range-end\\=true\\]\\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}.room-platform-room .data-\\[range-middle\\=true\\]\\:rounded-none[data-range-middle=true]{border-radius:0}.room-platform-room .data-\\[range-middle\\=true\\]\\:bg-muted[data-range-middle=true]{background-color:var(--muted)}.room-platform-room .data-\\[range-middle\\=true\\]\\:text-foreground[data-range-middle=true]{color:var(--foreground)}.room-platform-room .data-\\[range-start\\=true\\]\\:rounded-\\(--cell-radius\\)[data-range-start=true]{border-radius:var(--cell-radius)}.room-platform-room .data-\\[range-start\\=true\\]\\:rounded-l-\\(--cell-radius\\)[data-range-start=true]{border-top-left-radius:var(--cell-radius);border-bottom-left-radius:var(--cell-radius)}.room-platform-room .data-\\[range-start\\=true\\]\\:bg-primary[data-range-start=true]{background-color:var(--primary)}.room-platform-room .data-\\[range-start\\=true\\]\\:text-primary-foreground[data-range-start=true]{color:var(--primary-foreground)}.room-platform-room .data-\\[selected-single\\=true\\]\\:bg-primary[data-selected-single=true]{background-color:var(--primary)}.room-platform-room .data-\\[selected-single\\=true\\]\\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}.room-platform-room .data-\\[selected\\=true\\]\\:rounded-none[data-selected=true]{border-radius:0}.room-platform-room .data-\\[side\\=bottom\\]\\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=bottom\\]\\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=bottom\\]\\:h-auto[data-side=bottom]{height:auto}.room-platform-room .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .data-\\[side\\=bottom\\]\\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.room-platform-room .data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.room-platform-room .data-\\[side\\=inline-end\\]\\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.room-platform-room .data-\\[side\\=inline-start\\]\\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:calc(2*var(--spacing))}.room-platform-room .data-\\[side\\=left\\]\\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=left\\]\\:left-0[data-side=left]{left:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=left\\]\\:h-full[data-side=left]{height:100%}.room-platform-room .data-\\[side\\=left\\]\\:w-3\\/4[data-side=left]{width:75%}.room-platform-room .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .data-\\[side\\=left\\]\\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.room-platform-room .data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.room-platform-room .data-\\[side\\=left\\]\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\][data-side=left]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.room-platform-room .data-\\[side\\=right\\]\\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=right\\]\\:right-0[data-side=right]{right:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=right\\]\\:h-full[data-side=right]{height:100%}.room-platform-room .data-\\[side\\=right\\]\\:w-3\\/4[data-side=right]{width:75%}.room-platform-room .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .data-\\[side\\=right\\]\\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.room-platform-room .data-\\[side\\=right\\]\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\][data-side=right]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.room-platform-room .data-\\[side\\=top\\]\\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=top\\]\\:top-0[data-side=top]{top:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=top\\]\\:h-auto[data-side=top]{height:auto}.room-platform-room .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .data-\\[side\\=top\\]\\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.room-platform-room .data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.room-platform-room .data-\\[size\\=default\\]\\:h-8[data-size=default]{height:calc(var(--spacing) * 8)}.room-platform-room .data-\\[size\\=default\\]\\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.room-platform-room .data-\\[size\\=md\\]\\:text-sm[data-size=md]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .data-\\[size\\=sm\\]\\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.room-platform-room .data-\\[size\\=sm\\]\\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.room-platform-room .data-\\[size\\=sm\\]\\:gap-3[data-size=sm]{gap:calc(var(--spacing) * 3)}.room-platform-room .data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}.room-platform-room .data-\\[size\\=sm\\]\\:py-3[data-size=sm]{padding-block:calc(var(--spacing) * 3)}.room-platform-room .data-\\[size\\=sm\\]\\:text-xs[data-size=sm]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.room-platform-room .data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing) * 0)}.room-platform-room :is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room :is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.room-platform-room .data-\\[slot\\=checkbox-group\\]\\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}.room-platform-room :is(.\\*\\:data-\\[slot\\=field\\]\\:p-2\\.5>*)[data-slot=field]{padding:calc(var(--spacing) * 2.5)}.room-platform-room :is(.\\*\\:data-\\[slot\\=field-group\\]\\:gap-4>*)[data-slot=field-group]{gap:calc(var(--spacing) * 4)}.room-platform-room :is(.\\*\\:data-\\[slot\\=field-label\\]\\:flex-auto>*)[data-slot=field-label]{flex:auto}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:m-1>*)[data-slot=input-group]{margin:calc(var(--spacing) * 1)}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:mb-0>*)[data-slot=input-group]{margin-bottom:calc(var(--spacing) * 0)}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:h-8>*)[data-slot=input-group]{height:calc(var(--spacing) * 8)}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:border-input\\/30>*)[data-slot=input-group]{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:border-input\\/30>*)[data-slot=input-group]{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:bg-input\\/30>*)[data-slot=input-group]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:bg-input\\/30>*)[data-slot=input-group]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:shadow-none>*)[data-slot=input-group]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.room-platform-room :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}.room-platform-room :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}.room-platform-room :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-l-lg:is(:where(.group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing=\"0\"]:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg:is(:where(.group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing=\"0\"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-r-lg:is(:where(.group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing=\"0\"]:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg:is(:where(.group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing=\"0\"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.room-platform-room .data-\\[state\\=closed\\]\\:overflow-hidden[data-state=closed]{overflow:hidden}.room-platform-room .data-\\[state\\=on\\]\\:bg-muted[data-state=on],.room-platform-room .data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:var(--muted)}.room-platform-room .data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}.room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.room-platform-room .data-\\[variant\\=label\\]\\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .data-\\[variant\\=legend\\]\\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.room-platform-room .data-\\[variant\\=line\\]\\:rounded-none[data-variant=line]{border-radius:0}.room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-l-0:is(:where(.group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing=\"0\"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0:is(:where(.group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing=\"0\"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-l:is(:where(.group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing=\"0\"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t:is(:where(.group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing=\"0\"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.room-platform-room .nth-last-2\\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.room-platform-room .supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.room-platform-room .sm\\:flex{display:flex}.room-platform-room .sm\\:max-w-2xl{max-width:var(--container-2xl)}.room-platform-room .sm\\:max-w-none{max-width:none}.room-platform-room .sm\\:max-w-sm{max-width:var(--container-sm)}.room-platform-room .sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.room-platform-room .sm\\:flex-row{flex-direction:row}.room-platform-room .sm\\:justify-end{justify-content:flex-end}.room-platform-room .sm\\:p-4{padding:calc(var(--spacing) * 4)}.room-platform-room .sm\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:row-span-2:is(:where(.group\\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:place-items-start:is(:where(.group\\/alert-dialog-content)[data-size=default] *){place-items:start}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:text-left:is(:where(.group\\/alert-dialog-content)[data-size=default] *){text-align:left}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:group-has-data-\\[slot\\=alert-dialog-media\\]\\/alert-dialog-content\\:col-start-2:is(:where(.group\\/alert-dialog-content)[data-size=default] *):is(:where(.group\\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:has-data-\\[slot\\=alert-dialog-media\\]\\:grid-rows-\\[auto_1fr\\]:is(:where(.group\\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.room-platform-room .data-\\[side\\=left\\]\\:sm\\:max-w-sm[data-side=left],.room-platform-room .data-\\[side\\=right\\]\\:sm\\:max-w-sm[data-side=right],.room-platform-room .data-\\[size\\=default\\]\\:sm\\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media (min-width:48rem){.room-platform-room .md\\:block{display:block}.room-platform-room .md\\:flex{display:flex}.room-platform-room .md\\:inline-flex{display:inline-flex}.room-platform-room .md\\:max-w-\\[300px\\]{max-width:300px}.room-platform-room .md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(260px\\,300px\\)\\]{grid-template-columns:minmax(0,1fr) minmax(260px,300px)}.room-platform-room .md\\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.room-platform-room .md\\:flex-row{flex-direction:row}.room-platform-room .md\\:justify-self-end{justify-self:flex-end}.room-platform-room .md\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .md\\:border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .md\\:border-white\\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.room-platform-room .md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .md\\:text-pretty{text-wrap:pretty}.room-platform-room .md\\:opacity-0{opacity:0}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.room-platform-room .md\\:after\\:hidden:after{content:var(--tw-content);display:none}}@container field-group (min-width:28rem){.room-platform-room .\\@md\\/field-group\\:flex-row{flex-direction:row}.room-platform-room .\\@md\\/field-group\\:items-center{align-items:center}.room-platform-room :is(.\\@md\\/field-group\\:\\*\\:w-auto>*){width:auto}.room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.room-platform-room :is(.\\@md\\/field-group\\:\\*\\:data-\\[slot\\=field-label\\]\\:flex-auto>*)[data-slot=field-label]{flex:auto}}.room-platform-room .ltr\\:-translate-x-1\\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *),.room-platform-room .rtl\\:-translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .dark\\:border-input:is(.dark *){border-color:var(--input)}.room-platform-room .dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.room-platform-room .dark\\:bg-transparent:is(.dark *){background-color:#0000}.room-platform-room .dark\\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.room-platform-room .dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.room-platform-room .dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.room-platform-room .dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.room-platform-room .dark\\:hover\\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.room-platform-room .dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.room-platform-room .dark\\:disabled\\:bg-transparent:is(.dark *):disabled{background-color:#0000}.room-platform-room .dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.room-platform-room .dark\\:has-aria-invalid\\:border-destructive\\/50:is(.dark *):has([aria-invalid=true]){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-aria-invalid\\:border-destructive\\/50:is(.dark *):has([aria-invalid=true]){border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.room-platform-room .dark\\:has-aria-invalid\\:ring-destructive\\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-aria-invalid\\:ring-destructive\\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .dark\\:has-data-checked\\:border-primary\\/20:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-data-checked\\:border-primary\\/20:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.room-platform-room .dark\\:has-data-checked\\:bg-primary\\/10:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-data-checked\\:bg-primary\\/10:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.room-platform-room .dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.room-platform-room .dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .data-open\\:animate-in:where([data-state=open]),.room-platform-room .data-open\\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.room-platform-room .data-open\\:bg-accent:where([data-state=open]),.room-platform-room .data-open\\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.room-platform-room .data-open\\:text-accent-foreground:where([data-state=open]),.room-platform-room .data-open\\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.room-platform-room .data-open\\:fade-in-0:where([data-state=open]),.room-platform-room .data-open\\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.room-platform-room .data-open\\:zoom-in-95:where([data-state=open]),.room-platform-room .data-open\\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){.room-platform-room :is(.data-open\\:hover\\:bg-sidebar-accent:where([data-state=open]),.data-open\\:hover\\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}.room-platform-room :is(.data-open\\:hover\\:text-sidebar-accent-foreground:where([data-state=open]),.data-open\\:hover\\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.room-platform-room .data-\\[side\\=bottom\\]\\:data-open\\:slide-in-from-bottom-10[data-side=bottom]:where([data-state=open]),.room-platform-room .data-\\[side\\=bottom\\]\\:data-open\\:slide-in-from-bottom-10[data-side=bottom]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*100%)}.room-platform-room .data-\\[side\\=left\\]\\:data-open\\:slide-in-from-left-10[data-side=left]:where([data-state=open]),.room-platform-room .data-\\[side\\=left\\]\\:data-open\\:slide-in-from-left-10[data-side=left]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*-100%)}.room-platform-room .data-\\[side\\=right\\]\\:data-open\\:slide-in-from-right-10[data-side=right]:where([data-state=open]),.room-platform-room .data-\\[side\\=right\\]\\:data-open\\:slide-in-from-right-10[data-side=right]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*100%)}.room-platform-room .data-\\[side\\=top\\]\\:data-open\\:slide-in-from-top-10[data-side=top]:where([data-state=open]),.room-platform-room .data-\\[side\\=top\\]\\:data-open\\:slide-in-from-top-10[data-side=top]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*-100%)}.room-platform-room .data-closed\\:animate-out:where([data-state=closed]),.room-platform-room .data-closed\\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.room-platform-room .data-closed\\:fade-out-0:where([data-state=closed]),.room-platform-room .data-closed\\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.room-platform-room .data-closed\\:zoom-out-95:where([data-state=closed]),.room-platform-room .data-closed\\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.room-platform-room .data-\\[side\\=bottom\\]\\:data-closed\\:slide-out-to-bottom-10[data-side=bottom]:where([data-state=closed]),.room-platform-room .data-\\[side\\=bottom\\]\\:data-closed\\:slide-out-to-bottom-10[data-side=bottom]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*100%)}.room-platform-room .data-\\[side\\=left\\]\\:data-closed\\:slide-out-to-left-10[data-side=left]:where([data-state=closed]),.room-platform-room .data-\\[side\\=left\\]\\:data-closed\\:slide-out-to-left-10[data-side=left]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*-100%)}.room-platform-room .data-\\[side\\=right\\]\\:data-closed\\:slide-out-to-right-10[data-side=right]:where([data-state=closed]),.room-platform-room .data-\\[side\\=right\\]\\:data-closed\\:slide-out-to-right-10[data-side=right]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*100%)}.room-platform-room .data-\\[side\\=top\\]\\:data-closed\\:slide-out-to-top-10[data-side=top]:where([data-state=closed]),.room-platform-room .data-\\[side\\=top\\]\\:data-closed\\:slide-out-to-top-10[data-side=top]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*-100%)}.room-platform-room .data-checked\\:border-primary:where([data-state=checked]),.room-platform-room .data-checked\\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.room-platform-room .data-checked\\:bg-primary:where([data-state=checked]),.room-platform-room .data-checked\\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.room-platform-room .data-checked\\:text-primary-foreground:where([data-state=checked]),.room-platform-room .data-checked\\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}.room-platform-room .dark\\:data-checked\\:bg-primary:is(.dark *):where([data-state=checked]),.room-platform-room .dark\\:data-checked\\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.room-platform-room .data-disabled\\:pointer-events-none:where([data-disabled=true]),.room-platform-room .data-disabled\\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.room-platform-room .data-disabled\\:opacity-50:where([data-disabled=true]),.room-platform-room .data-disabled\\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.room-platform-room .data-active\\:bg-background:where([data-state=active]),.room-platform-room .data-active\\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.room-platform-room .data-active\\:bg-sidebar-accent:where([data-state=active]),.room-platform-room .data-active\\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.room-platform-room .data-active\\:font-medium:where([data-state=active]),.room-platform-room .data-active\\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.room-platform-room .data-active\\:text-foreground:where([data-state=active]),.room-platform-room .data-active\\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.room-platform-room .data-active\\:text-sidebar-accent-foreground:where([data-state=active]),.room-platform-room .data-active\\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.room-platform-room .group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.group\\/tabs-list)[data-variant=default] *):where([data-state=active]),.room-platform-room .group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.group\\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room :is(.group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.room-platform-room .dark\\:data-active\\:border-input:is(.dark *):where([data-state=active]),.room-platform-room .dark\\:data-active\\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.room-platform-room .dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.room-platform-room .dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.room-platform-room .dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.room-platform-room .dark\\:data-active\\:text-foreground:is(.dark *):where([data-state=active]),.room-platform-room .dark\\:data-active\\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.room-platform-room .data-horizontal\\:mx-px:where([data-orientation=horizontal]){margin-inline:1px}.room-platform-room .data-horizontal\\:h-px:where([data-orientation=horizontal]){height:1px}.room-platform-room .data-horizontal\\:w-auto:where([data-orientation=horizontal]){width:auto}.room-platform-room .data-horizontal\\:w-full:where([data-orientation=horizontal]){width:100%}.room-platform-room .data-horizontal\\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.room-platform-room .data-vertical\\:my-px:where([data-orientation=vertical]){margin-block:1px}.room-platform-room .data-vertical\\:h-auto:where([data-orientation=vertical]){height:auto}.room-platform-room .data-vertical\\:w-px:where([data-orientation=vertical]){width:1px}.room-platform-room .data-vertical\\:flex-col:where([data-orientation=vertical]){flex-direction:column}.room-platform-room .data-vertical\\:items-stretch:where([data-orientation=vertical]){align-items:stretch}.room-platform-room .data-vertical\\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.room-platform-room .\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.room-platform-room .\\[\\&_a\\]\\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.room-platform-room .\\[\\&_a\\]\\:hover\\:text-foreground a:hover{color:var(--foreground)}}.room-platform-room .\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 p:not(:last-child){margin-bottom:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.room-platform-room .\\[\\&_svg\\]\\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&_tr\\]\\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.room-platform-room .\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.room-platform-room .\\[\\&\\:first-child\\[data-selected\\=true\\]_button\\]\\:rounded-l-\\(--cell-radius\\):first-child[data-selected=true] button{border-top-left-radius:var(--cell-radius);border-bottom-left-radius:var(--cell-radius)}.room-platform-room .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.room-platform-room .\\[\\.border-b\\]\\:pb-2.border-b{padding-bottom:calc(var(--spacing) * 2)}.room-platform-room .\\[\\.border-b\\]\\:pb-4.border-b{padding-bottom:calc(var(--spacing) * 4)}.room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3:is(:where(.group\\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing) * 3)}.room-platform-room .\\[\\.border-t\\]\\:pt-2.border-t{padding-top:calc(var(--spacing) * 2)}.room-platform-room :is(.rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_next\\>svg\\]\\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),.room-platform-room :is(.rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_previous\\>svg\\]\\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.room-platform-room :is(.\\*\\:\\[a\\]\\:underline>*):is(a){text-decoration-line:underline}.room-platform-room :is(.\\*\\:\\[a\\]\\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.room-platform-room .\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .\\[a\\]\\:hover\\:bg-muted:is(a):hover{background-color:var(--muted)}.room-platform-room .\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.room-platform-room .\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.room-platform-room .\\[a\\]\\:hover\\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}.room-platform-room :is(.\\*\\:\\[a\\]\\:hover\\:text-foreground>*):is(a):hover{color:var(--foreground)}}.room-platform-room :is(.\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.room-platform-room :is(.\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.room-platform-room :is(.\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}.room-platform-room :is(.\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}.room-platform-room :is(.\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}.room-platform-room :is(.\\*\\:\\[svg\\]\\:row-span-2>*):is(svg){grid-row:span 2/span 2}.room-platform-room :is(.\\*\\:\\[svg\\]\\:translate-y-0\\.5>*):is(svg){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room :is(.\\*\\:\\[svg\\]\\:text-current>*):is(svg){color:currentColor}.room-platform-room :is(.data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}.room-platform-room :is(.\\*\\:\\[svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room :is(.\\*\\:\\[svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-6>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.room-platform-room .\\[\\&\\:last-child\\[data-selected\\=true\\]_button\\]\\:rounded-r-\\(--cell-radius\\):last-child[data-selected=true] button{border-top-right-radius:var(--cell-radius);border-bottom-right-radius:var(--cell-radius)}.room-platform-room .\\[\\&\\:nth-child\\(2\\)\\[data-selected\\=true\\]_button\\]\\:rounded-l-\\(--cell-radius\\):nth-child(2)[data-selected=true] button{border-top-left-radius:var(--cell-radius);border-bottom-left-radius:var(--cell-radius)}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.room-platform-room .\\[\\&\\>\\.sr-only\\]\\:w-auto>.sr-only{width:auto}.room-platform-room .has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-r-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.room-platform-room .\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=\\'w-\\'\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.room-platform-room .\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-r-lg\\!>[data-slot]:not(:has(~[data-slot])){border-top-right-radius:var(--radius)!important;border-bottom-right-radius:var(--radius)!important}.room-platform-room .\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\!>[data-slot]:not(:has(~[data-slot])){border-bottom-right-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}@container field-group (min-width:28rem){.room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}}.room-platform-room .\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.room-platform-room .\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.room-platform-room .\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--primary)}.room-platform-room .\\[\\&\\>button\\]\\:hidden>button{display:none}.room-platform-room .\\[\\&\\>input\\]\\:flex-1>input{flex:1}.room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.room-platform-room .has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pr-1\\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 1.5)}.room-platform-room .has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:pl-1\\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 1.5)}.room-platform-room .\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.room-platform-room .\\[\\&\\>span\\]\\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.room-platform-room .\\[\\&\\>span\\]\\:opacity-70>span{opacity:.7}.room-platform-room .\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-platform-room .\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.room-platform-room .\\[\\&\\>svg\\]\\:size-3\\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}.room-platform-room .\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.room-platform-room .\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.room-platform-room .\\[\\&\\>svg\\]\\:text-muted-foreground>svg{color:var(--muted-foreground)}.room-platform-room .\\[\\&\\>svg\\]\\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.room-platform-room .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.room-platform-room .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&\\>tr\\]\\:last\\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.room-platform-room [data-side=left][data-collapsible=offcanvas] .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2{right:calc(var(--spacing) * -2)}.room-platform-room [data-side=left][data-state=collapsed] .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}.room-platform-room [data-side=right][data-collapsible=offcanvas] .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2{left:calc(var(--spacing) * -2)}.room-platform-room [data-side=right][data-state=collapsed] .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}.room-platform-room [data-variant=legend]+.\\[\\[data-variant\\=legend\\]\\+\\&\\]\\:-mt-1\\.5{margin-top:calc(var(--spacing) * -1.5)}@property --tw-animation-delay{syntax:\"*\";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:\"*\";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:\"*\";inherits:false}@property --tw-animation-fill-mode{syntax:\"*\";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:\"*\";inherits:false;initial-value:0}.room-platform-room{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.room-platform-room .dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.room-platform-room .navi-chat__panel{border:1px solid var(--navi-chat-color-border,#d8e0ea);border-radius:var(--navi-chat-radius,10px);background:var(--navi-chat-color-surface,#fff);width:100%;height:100%;min-height:0;color:var(--navi-chat-color-text,#111827);font-family:var(--navi-chat-font-family,Inter, ui-sans-serif, system-ui, sans-serif);flex-direction:column;display:flex;overflow:hidden}.room-platform-room .navi-chat__header{border-bottom:1px solid var(--navi-chat-color-border,#d8e0ea);background:#f8fafc;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.room-platform-room .navi-chat__header-main{min-width:0}.room-platform-room .navi-chat__title{color:var(--navi-chat-color-text,#111827);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:700;line-height:1.25;display:inline-flex;overflow:hidden}.room-platform-room .navi-chat__online-count{min-width:20px;height:20px;color:var(--navi-chat-color-primary,#2563eb);background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.room-platform-room .navi-chat__header-meta{flex:none;align-items:center;gap:8px;display:flex}.room-platform-room .navi-chat__role-badge{color:var(--navi-chat-color-primary,#2563eb);background:#eff6ff;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1}.room-platform-room .navi-chat__rooms{border-bottom:1px solid var(--navi-chat-color-border,#d8e0ea);flex:none;gap:6px;padding:10px;display:flex;overflow-x:auto}.room-platform-room .navi-chat__room-tab,.room-platform-room .navi-chat__send-button,.room-platform-room .navi-chat__message-action,.room-platform-room .navi-chat__message-menu-trigger,.room-platform-room .navi-chat__message-menu-item,.room-platform-room .navi-chat__message-edit-button,.room-platform-room .navi-chat__message-edit-input{font:inherit}.room-platform-room .navi-chat__room-tab{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:8px;align-items:center;gap:6px;min-width:0;max-width:160px;padding:7px 10px;display:inline-flex}.room-platform-room .navi-chat__room-tab--active{background:var(--navi-chat-color-primary,#2563eb);color:#fff}.room-platform-room .navi-chat__room-tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.room-platform-room .navi-chat__unread-badge{min-width:18px;height:18px;color:var(--navi-chat-color-primary,#2563eb);background:#eff6ff;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.room-platform-room .navi-chat__room-tab--active .navi-chat__unread-badge{color:#fff;background:#ffffff2e}.room-platform-room .navi-chat__messages{background:#fbfdff;flex-direction:column;flex:auto;min-height:0;padding:14px;display:flex;overflow-y:auto}.room-platform-room .navi-chat__messages-stack{flex-direction:column;gap:10px;margin-top:auto;display:flex}.room-platform-room .navi-chat__empty{color:#64748b;text-align:center;background:#fbfdff;flex-direction:column;flex:auto;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex}.room-platform-room .navi-chat__empty strong{color:#334155;margin-top:8px;font-size:14px}.room-platform-room .navi-chat__empty span{margin-top:4px;font-size:13px}.room-platform-room .navi-chat__empty-icon{color:var(--navi-chat-color-primary,#2563eb);font-size:22px;line-height:1}.room-platform-room .navi-chat__message{display:flex}.room-platform-room .navi-chat__message-group{flex-direction:column;gap:4px;display:flex}.room-platform-room .navi-chat__loading-older{color:#64748b;align-self:center;padding:4px 0;font-size:12px;font-weight:600}.room-platform-room .navi-chat__message--own{justify-content:flex-end}.room-platform-room .navi-chat__message-row{align-items:flex-end;gap:6px;min-width:0;max-width:min(82%,560px);display:flex;position:relative}.room-platform-room .navi-chat__message-row--own{flex-direction:row-reverse}.room-platform-room .navi-chat__message-bubble{border:1px solid var(--navi-chat-color-border,#d8e0ea);background:#fff;border-radius:10px;min-width:0;max-width:100%;padding:9px 11px;box-shadow:0 1px 2px #0f172a0a}.room-platform-room .navi-chat__message--grouped .navi-chat__message-bubble{padding-top:8px}.room-platform-room .navi-chat__message--own .navi-chat__message-bubble{border-color:var(--navi-chat-own-message-border,#bfdbfe);background:var(--navi-chat-own-message-background,#eff6ff)}.room-platform-room .navi-chat__message--deleted .navi-chat__message-bubble{color:#64748b;background:#f8fafc;font-style:italic}.room-platform-room .navi-chat__message-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.room-platform-room .navi-chat__message-author{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.room-platform-room .navi-chat__message-time{color:#94a3b8;white-space:nowrap;font-size:11px}.room-platform-room .navi-chat__message-text{color:var(--navi-chat-color-text,#111827);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.45}.room-platform-room .navi-chat__message-action{color:var(--navi-chat-color-primary,#2563eb);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:12px;font-weight:600}.room-platform-room .navi-chat__message-menu{z-index:3;opacity:0;pointer-events:none;vertical-align:middle;flex:none;transition:opacity .12s,transform .12s;display:inline-flex;position:absolute;bottom:2px;right:-30px;transform:translateY(2px)}.room-platform-room .navi-chat__message-row--own .navi-chat__message-menu{left:-30px;right:auto}.room-platform-room .navi-chat__message:hover .navi-chat__message-menu,.room-platform-room .navi-chat__message:focus-within .navi-chat__message-menu,.room-platform-room .navi-chat__message-menu--open{opacity:1;pointer-events:auto;transform:translateY(0)}.room-platform-room .navi-chat__message-menu-trigger{border:1px solid var(--navi-chat-color-border,#d8e0ea);color:#64748b;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:12px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 3px #0f172a14}.room-platform-room .navi-chat__message-menu-trigger:hover,.room-platform-room .navi-chat__message-menu-trigger:focus-visible{color:var(--navi-chat-color-primary,#2563eb);background:#eff6ff;border-color:#bfdbfe}.room-platform-room .navi-chat__message-menu-popover{z-index:2;border:1px solid var(--navi-chat-color-border,#d8e0ea);background:#fff;border-radius:8px;flex-direction:column;min-width:82px;display:flex;position:absolute;bottom:32px;right:0;overflow:hidden;box-shadow:0 8px 18px #0f172a24}.room-platform-room .navi-chat__message-row--own .navi-chat__message-menu-popover{left:0;right:auto}.room-platform-room .navi-chat__message-menu-item{color:var(--navi-chat-color-text,#111827);cursor:pointer;text-align:left;background:0 0;border:0;padding:8px 10px;font-size:12px;font-weight:600;line-height:1}.room-platform-room .navi-chat__message-menu-item:hover,.room-platform-room .navi-chat__message-menu-item:focus-visible{color:var(--navi-chat-color-primary,#2563eb);background:#f1f5f9}.room-platform-room .navi-chat__message-edit{flex-direction:column;gap:6px;display:flex}.room-platform-room .navi-chat__message-edit-input{box-sizing:border-box;resize:vertical;width:min(280px,100%);min-height:64px;color:var(--navi-chat-color-text,#111827);background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 9px;font-size:13px;line-height:1.4}.room-platform-room .navi-chat__message-edit-actions{justify-content:flex-end;gap:6px;display:flex}.room-platform-room .navi-chat__message-edit-button{border:1px solid var(--navi-chat-color-border,#d8e0ea);color:#334155;cursor:pointer;background:#fff;border-radius:7px;padding:7px 9px;font-size:12px;font-weight:700;line-height:1}.room-platform-room .navi-chat__message-edit-button--primary{border-color:var(--navi-chat-color-primary,#2563eb);background:var(--navi-chat-color-primary,#2563eb);color:#fff}.room-platform-room .navi-chat__latest-overlay{box-sizing:border-box;pointer-events:none;grid-template-columns:1fr auto 1fr;align-self:stretch;align-items:center;gap:8px;margin-top:8px;display:grid;position:sticky;bottom:8px}.room-platform-room .navi-chat__new-message-notice{border:1px solid var(--navi-chat-color-border,#d8e0ea);color:var(--navi-chat-color-primary,#2563eb);background:#fff;border-radius:999px;grid-column:2;padding:8px 12px;font-size:12px;font-weight:700;line-height:1;box-shadow:0 6px 16px #0f172a24}.room-platform-room .navi-chat__scroll-latest{box-sizing:border-box;border:1px solid var(--navi-chat-color-border,#d8e0ea);width:34px;height:34px;color:var(--navi-chat-color-primary,#2563eb);cursor:pointer;pointer-events:auto;background:#fff;border-radius:50%;flex:none;grid-column:3;justify-content:center;justify-self:end;align-items:center;margin-right:4px;padding:0;display:inline-flex;box-shadow:0 6px 16px #0f172a29}.room-platform-room .navi-chat__scroll-latest-icon{fill:currentColor;width:18px;height:18px}.room-platform-room .navi-chat__composer{border-top:1px solid var(--navi-chat-color-border,#d8e0ea);background:#fff;flex:none;align-items:flex-end;gap:8px;padding:10px;display:flex}.room-platform-room .navi-chat__composer-main{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.room-platform-room .navi-chat__composer-input{resize:vertical;min-width:0;min-height:38px;max-height:84px;color:var(--navi-chat-color-text,#111827);font:inherit;border:1px solid #cbd5e1;border-radius:8px;flex:auto;padding:9px 10px;font-size:13px;line-height:1.4}.room-platform-room .navi-chat__composer-tip{color:#64748b;margin:0;font-size:11px;line-height:1.3}.room-platform-room .navi-chat__send-button{background:var(--navi-chat-color-primary,#2563eb);color:#fff;cursor:pointer;border:0;border-radius:999px;flex:none;justify-content:center;align-self:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.room-platform-room .navi-chat__send-button:disabled{cursor:not-allowed;opacity:.45}.room-platform-room .navi-chat__send-icon{fill:currentColor;width:18px;height:18px}.room-platform-room .navi-chat__readonly{border-top:1px solid var(--navi-chat-color-border,#d8e0ea);color:#64748b;background:#f8fafc;flex:none;padding:12px 14px;font-size:13px}.room-platform-room .navi-chat__status{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.room-platform-room .navi-chat__status-dot{background:#94a3b8;border-radius:999px;width:9px;height:9px}.room-platform-room .navi-chat__status--connected .navi-chat__status-dot{background:#16a34a}.room-platform-room .navi-chat__status--muted .navi-chat__status-dot{background:#94a3b8}.room-platform-room .navi-chat__status--error .navi-chat__status-dot{background:#dc2626}.room-platform-room .whiteboard-react-canvas{width:100%;height:100%;position:relative}.room-platform-room .whiteboard-react-canvas__scene{height:100%;min-height:100%;position:relative}.room-platform-room .whiteboard-react-canvas__layer{width:100%;height:100%;position:absolute;inset:0}.room-platform-room .whiteboard-react-canvas__layer--scene{z-index:10;pointer-events:none}.room-platform-room .whiteboard-react-canvas__layer--interaction{z-index:11;touch-action:none;-webkit-user-select:none;user-select:none}.room-platform-room .whiteboard-react-trigger,.room-platform-room .whiteboard-react-toolbar,.room-platform-room .whiteboard-react-toolbar__popover{--whiteboard-overlay-bg:#fffffff0;--whiteboard-overlay-border:#94a3b852;--whiteboard-overlay-shadow:0 18px 40px #0f172a3d;--whiteboard-overlay-text:#0f172a;--whiteboard-overlay-muted:#475569;--whiteboard-overlay-accent:#0f766e;--whiteboard-overlay-accent-soft:#0f766e1f;--whiteboard-overlay-danger:#dc2626;border:1px solid var(--whiteboard-overlay-border);background:var(--whiteboard-overlay-bg);color:var(--whiteboard-overlay-text);box-shadow:var(--whiteboard-overlay-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.125rem;position:fixed}.room-platform-room .whiteboard-react-trigger{z-index:60;color:#00ff9d;cursor:pointer;background:#252627;border:0;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;padding:0;transition:background .14s,color .14s;display:inline-flex}.room-platform-room .whiteboard-react-trigger:hover{color:#000;background:#00ff9d}.room-platform-room .whiteboard-react-toolbar__tooltip-trigger{display:inline-flex}.room-platform-room .whiteboard-react-trigger:focus-visible,.room-platform-room .whiteboard-react-toolbar__button:focus-visible,.room-platform-room .whiteboard-react-toolbar__drag-handle:focus-visible,.room-platform-room .whiteboard-react-toolbar__option-chip:focus-visible,.room-platform-room .whiteboard-react-toolbar__width-chip:focus-visible,.room-platform-room .whiteboard-react-color-popover__swatch:focus-visible,.room-platform-room .whiteboard-react-toolbar__status-action:focus-visible{outline-offset:2px;outline:2px solid #0f766e73}.room-platform-room .whiteboard-react-trigger__icon{flex:none;width:1.5rem;height:1.5rem}.room-platform-room .whiteboard-react-toolbar__icon{flex:none;width:1.35rem;height:1.35rem}.room-platform-room .whiteboard-react-toolbar__icon.ColorSvg{width:2rem}.room-platform-room .whiteboard-react-trigger__label{white-space:nowrap}.room-platform-room .whiteboard-react-trigger__status-dot,.room-platform-room .whiteboard-react-toolbar__status-dot{background:var(--whiteboard-overlay-accent);border-radius:999px;flex:none;width:.5rem;height:.5rem;box-shadow:0 0 0 4px #0f766e24}.room-platform-room .whiteboard-react-trigger[data-runtime-state=failed] .whiteboard-react-trigger__status-dot{background:var(--whiteboard-overlay-danger);box-shadow:0 0 0 4px #dc26261f}.room-platform-room .whiteboard-react-toolbar{z-index:61;color:#f8fafc;transform-origin:50%;background:#292a2c;border:.15rem solid #e2e8f0b8;border-radius:.5rem;transition:transform .14s,box-shadow .14s;animation:.18s ease-in-out whiteboard-toolbar-orientation-vertical;box-shadow:0 12px 28px #0f172a4d}@keyframes whiteboard-toolbar-orientation-vertical{0%{transform:scaleX(1.2)}to{transform:scale(1)}}@keyframes whiteboard-toolbar-orientation-horizontal{0%{transform:scaleX(1.2)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.room-platform-room .whiteboard-react-toolbar{transition:none;animation:none}}.room-platform-room .whiteboard-react-toolbar__chrome{flex-direction:column;gap:.3rem;padding:.4rem;display:flex}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__chrome{box-sizing:border-box;flex-direction:row;align-items:center;padding:.4rem}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal]{animation-name:whiteboard-toolbar-orientation-horizontal}.room-platform-room .whiteboard-react-toolbar__drag-handle{color:#e2e8f0d6;cursor:grab;background:0 0;border-radius:.65rem;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:.75rem;transition:color .12s,border-color .12s;display:inline-flex;position:relative}.room-platform-room .whiteboard-react-toolbar__drag-handle:before{content:\"\";background:#e2e8f073;height:1px;position:absolute;top:-.5rem;left:0;right:0}.room-platform-room .whiteboard-react-toolbar__drag-handle:hover{color:#fff;background:#ffffff1a}.room-platform-room .whiteboard-react-toolbar__drag-handle:active{cursor:grabbing}.room-platform-room .whiteboard-react-toolbar__status{max-width:16rem;color:var(--whiteboard-overlay-muted);background:#f8fafcf5;border-radius:.875rem;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.room-platform-room .whiteboard-react-toolbar__status[data-state=failed]{color:var(--whiteboard-overlay-danger);background:#fef2f2f5}.room-platform-room .whiteboard-react-toolbar__status[data-state=busy]{color:var(--whiteboard-overlay-accent);background:#f0fdfaf5}.room-platform-room .whiteboard-react-toolbar__status-action{color:inherit;background:0 0;border:0;margin-left:.25rem;font-weight:700;text-decoration:underline}.room-platform-room .whiteboard-react-toolbar__rail{gap:.5rem;display:flex}.room-platform-room .whiteboard-react-toolbar[data-orientation=vertical] .whiteboard-react-toolbar__rail{flex-direction:column}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__rail{flex-direction:row;align-items:center}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__drag-handle:before{width:1px;height:auto;inset:0 auto 0 -.15rem}.room-platform-room .whiteboard-react-toolbar__button{color:#f8fafc;background:0 0;border:0;border-radius:.65rem;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:.75rem;transition:transform .12s,background .12s,border-color .12s,color .12s;display:inline-flex;position:relative}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__button,.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__drag-handle{margin-top:0;margin-bottom:0;margin-left:.75rem}.room-platform-room .whiteboard-react-toolbar__button:hover:not(:disabled){cursor:pointer;background:#ffffff1a}.room-platform-room .whiteboard-react-toolbar__button[data-active=true]{color:#fff;background:#0878f7}.room-platform-room .whiteboard-react-toolbar__button[data-active=true]:hover:not(:disabled){background:#0878f7}.room-platform-room .whiteboard-react-toolbar__button[aria-label=Color] .whiteboard-react-toolbar__icon{display:none}.room-platform-room .whiteboard-react-toolbar__button[aria-label=Color] .whiteboard-react-toolbar__button-swatch{border:0;width:1.5rem;height:1.5rem;position:static}.room-platform-room .whiteboard-react-toolbar__button[aria-label=\"Close whiteboard tools\"]{color:#fff;background:#ef1111;margin-bottom:.75rem}.room-platform-room .whiteboard-react-toolbar__button[aria-label=\"Close whiteboard tools\"]:hover:not(:disabled){background:#dc0d0d}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] span:last-child .whiteboard-react-toolbar__button{margin-bottom:0;margin-right:.75rem}.room-platform-room .whiteboard-react-toolbar__button:disabled,.room-platform-room .whiteboard-react-toolbar__option-chip:disabled,.room-platform-room .whiteboard-react-toolbar__width-chip:disabled,.room-platform-room .whiteboard-react-color-popover__swatch:disabled{cursor:not-allowed;opacity:.46}.room-platform-room .whiteboard-react-toolbar__button-swatch{background:var(--whiteboard-color);border:1px solid #fffc;border-radius:999px;width:.6rem;height:.6rem;position:absolute;bottom:.34rem;right:.34rem;box-shadow:0 0 0 1px #0f172a1f}.room-platform-room .whiteboard-react-toolbar__popover{z-index:62;color:#f8fafc;background:#292a2c;border:.15rem solid #e2e8f0b8;border-radius:.5rem;padding:.65rem;box-shadow:0 12px 28px #0f172a4d}.room-platform-room .whiteboard-react-draw-popover{max-width:15.5rem}.room-platform-room .whiteboard-react-color-popover{width:12.5rem}.room-platform-room .whiteboard-react-toolbar__popover-section{flex-direction:column;gap:.35rem;display:flex}.room-platform-room .whiteboard-react-toolbar__popover-section+.whiteboard-react-toolbar__popover-section{margin-top:.55rem}.room-platform-room .whiteboard-react-toolbar__popover-label{letter-spacing:.04em;text-transform:uppercase;color:#e2e8f0d1;margin:0;font-size:.75rem;font-weight:700}.room-platform-room .whiteboard-react-toolbar__option-grid,.room-platform-room .whiteboard-react-toolbar__width-grid{gap:.35rem;display:grid}.room-platform-room .whiteboard-react-toolbar__option-grid,.room-platform-room .whiteboard-react-toolbar__option-grid--shapes{grid-template-columns:repeat(4,minmax(0,1fr))}.room-platform-room .whiteboard-react-toolbar__option-chip,.room-platform-room .whiteboard-react-toolbar__width-chip{color:#f8fafc;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.65rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.room-platform-room .whiteboard-react-toolbar__option-chip[data-active=true],.room-platform-room .whiteboard-react-toolbar__width-chip[data-active=true]{color:#fff;background:#0878f7;border-color:#0000}.room-platform-room .whiteboard-react-toolbar__option-chip:hover:not(:disabled):not([data-active=true]),.room-platform-room .whiteboard-react-toolbar__width-chip:hover:not(:disabled):not([data-active=true]){color:#fff}.room-platform-room .whiteboard-react-toolbar__width-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.room-platform-room .whiteboard-react-toolbar__option-icon{flex:none}.room-platform-room .whiteboard-react-toolbar__width-sample{background:currentColor;border-radius:999px;flex:none;width:1.35rem;height:1.35rem;display:inline-flex}.room-platform-room .whiteboard-react-toolbar__width-sample[data-width=xs]{width:.3rem;height:.3rem}.room-platform-room .whiteboard-react-toolbar__width-sample[data-width=sm]{width:.45rem;height:.45rem}.room-platform-room .whiteboard-react-toolbar__width-sample[data-width=md]{width:.65rem;height:.65rem}.room-platform-room .whiteboard-react-toolbar__width-sample[data-width=lg]{width:.9rem;height:.9rem}.room-platform-room .whiteboard-react-color-popover__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.room-platform-room .whiteboard-react-color-popover__swatch{cursor:pointer;background:#ffffffe6;border:1px solid #94a3b847;border-radius:999px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;display:inline-flex}.room-platform-room .whiteboard-react-color-popover__swatch-fill{background:var(--whiteboard-color);border-radius:999px;width:1.35rem;height:1.35rem;box-shadow:inset 0 0 0 1px #0f172a14}.room-platform-room .whiteboard-react-color-popover__swatch[data-active=true]{border-color:#0f766e73;box-shadow:0 0 0 4px #0f766e1f}.room-platform-room .whiteboard-react-color-popover__swatch[data-light=true] .whiteboard-react-color-popover__swatch-fill{box-shadow:inset 0 0 0 1px #0f172a1f,0 0 0 1px #e2e8f0cc}.room-platform-room{--primary:#242f62;--primary-foreground:#fff;--secondary:#eb6619;--secondary-foreground:#fff;--ring:#9dc2f3;--sidebar-primary:#242f62;--sidebar-primary-foreground:#fff}.room-platform-room body{font-family:var(--font-quicksand), sans-serif;letter-spacing:0}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}\n/* @naviedu/room-platform-react bundled tailwind utilities */\n.room-platform-host {\n box-sizing: border-box;\n display: block;\n height: 100%;\n min-height: 0;\n min-width: 0;\n position: relative;\n}\n\n:host(.room-platform-host) {\n box-sizing: border-box;\n display: block;\n height: 100%;\n min-height: 0;\n min-width: 0;\n position: relative;\n}\n\n[data-room-platform-app-root] {\n box-sizing: border-box;\n display: block;\n height: 100%;\n min-height: 0;\n min-width: 0;\n}\n\n.room-platform-room {\n --tw-border-style: solid;\n --room-platform-navy: #242f62;\n --room-platform-orange: #eb6619;\n --room-platform-border: #dbe3ef;\n --room-platform-surface: #ffffff;\n --room-platform-muted: #f8fafc;\n background: var(--room-platform-muted);\n color: #172033;\n display: flex;\n flex-direction: column;\n min-width: 0;\n overflow: hidden;\n width: 100%;\n}\n\n.room-platform-room[data-sizing='viewport'] {\n height: 100dvh;\n min-height: 100dvh;\n}\n\n.room-platform-room[data-sizing='container'] {\n height: 100%;\n min-height: 0;\n width: 100%;\n}\n\n.room-platform-room.room-platform-portal-root {\n background: transparent;\n display: block;\n height: 100%;\n inset: 0;\n min-height: 0;\n overflow: visible;\n pointer-events: none;\n position: absolute;\n width: auto;\n z-index: 100;\n}\n\n.room-platform-room.room-platform-portal-root > * {\n pointer-events: auto;\n}\n\n.room-platform-private-room-status-banner {\n align-items: center;\n border-bottom: 1px solid;\n display: flex;\n font-size: 0.875rem;\n gap: 0.75rem;\n min-height: 2.5rem;\n padding: 0.5rem 1rem;\n}\n\n.room-platform-private-room-status-banner--info {\n background: #f0f9ff;\n border-color: #bae6fd;\n color: #082f49;\n}\n\n.room-platform-private-room-status-banner--warning {\n background: #fffbeb;\n border-color: #fde68a;\n color: #451a03;\n}\n\n.room-platform-private-room-status-banner--success {\n background: #ecfdf5;\n border-color: #a7f3d0;\n color: #022c22;\n}\n\n.room-platform-private-room-status-banner__spinner {\n animation: room-platform-private-room-status-spinner 1s linear infinite;\n flex-shrink: 0;\n height: 1rem;\n width: 1rem;\n}\n\n.room-platform-private-room-status-banner__content {\n min-width: 0;\n}\n\n.room-platform-private-room-status-banner__message {\n font-weight: 600;\n line-height: 1.25rem;\n}\n\n.room-platform-private-room-status-banner__detail {\n font-size: 0.75rem;\n line-height: 1.25rem;\n opacity: 0.8;\n}\n\n@keyframes room-platform-private-room-status-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n.room-platform-surface {\n box-sizing: border-box;\n}\n\n.room-platform-panel {\n background: var(--room-platform-surface);\n border: 1px solid var(--room-platform-border);\n border-radius: 8px;\n}\n\n.room-platform-button {\n align-items: center;\n border: 1px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n display: inline-flex;\n font: inherit;\n gap: 0.375rem;\n justify-content: center;\n min-height: 2rem;\n padding: 0.375rem 0.75rem;\n}\n\n.room-platform-button:focus-visible,\n.room-platform-tab:focus-visible {\n outline: 3px solid color-mix(in srgb, var(--room-platform-orange), transparent 65%);\n outline-offset: 2px;\n}\n\n.room-platform-button:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.room-platform-button--default {\n background: var(--room-platform-navy);\n color: #fff;\n}\n\n.room-platform-button--quiet {\n background: #edf2f7;\n color: var(--room-platform-navy);\n}\n\n.room-platform-button--danger {\n background: #fff1f2;\n color: #b42318;\n}\n\n.room-platform-shell {\n background: #020617;\n color: #fff;\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n}\n\n.room-platform-shell-top-bar--hidden {\n display: none;\n}\n\n.room-platform-shell-body {\n display: grid;\n flex: 1;\n grid-template-columns: minmax(0, 1fr);\n min-height: 0;\n position: relative;\n}\n\n.room-platform-shell-body--sidebar {\n grid-template-columns: minmax(0, 1fr) minmax(16.25rem, 18.75rem);\n}\n\n.room-platform-shell-main {\n display: flex;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n}\n\n.room-platform-shell-sidebar {\n display: flex;\n min-height: 0;\n position: relative;\n width: 100%;\n}\n\n.room-platform-shell-sidebar-content {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n\n.room-platform-shell-sidebar-open,\n.room-platform-shell-sidebar-close {\n position: absolute;\n z-index: 40;\n}\n\n.room-platform-shell-sidebar-open {\n right: 1rem;\n top: 1rem;\n}\n\n.room-platform-shell-sidebar-close {\n left: 0;\n top: 0.75rem;\n transform: translateX(-100%);\n}\n\n.room-platform-top-bar {\n align-items: center;\n background: #0f172a;\n border-bottom: 1px solid rgb(255 255 255 / 10%);\n color: #fff;\n display: flex;\n flex-wrap: wrap;\n gap: 0.75rem;\n justify-content: space-between;\n min-height: 4.5rem;\n padding: 0.75rem 1rem;\n}\n\n.room-platform-top-bar h1,\n.room-platform-top-bar p {\n margin: 0;\n}\n\n.room-platform-top-bar h1 {\n color: #fff;\n font-size: 1.125rem;\n}\n\n.room-platform-eyebrow {\n color: #cbd5e1;\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.room-platform-top-bar-heading,\n.room-platform-top-bar-trailing {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n\n.room-platform-top-bar-trailing {\n justify-content: flex-end;\n}\n\n.room-platform-media-controls {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n}\n\n.room-platform-media-controls .room-platform-button {\n font-size: 0.8125rem;\n}\n\n.room-platform-status {\n border-radius: 999px;\n font-size: 0.8rem;\n font-weight: 600;\n padding: 0.25rem 0.625rem;\n}\n\n.room-platform-status[data-status='connected'] {\n background: #dcfae6;\n color: #166534;\n}\n\n.room-platform-status[data-status='error'] {\n background: #fee2e2;\n color: #b42318;\n}\n\n.room-platform-status[data-status='connecting'],\n.room-platform-status[data-status='reconnecting'] {\n background: #fff3d6;\n color: #9a4f00;\n}\n\n.room-platform-main {\n display: flex;\n flex: 1;\n gap: 1rem;\n min-height: 0;\n min-width: 0;\n padding: 1rem;\n position: relative;\n}\n\n.room-platform-stage-area {\n flex: 1;\n min-height: 26rem;\n min-width: 0;\n position: relative;\n}\n\n.room-platform-stage {\n align-items: center;\n background: linear-gradient(135deg, #1e2a5b, #3c4b89);\n color: #fff;\n display: flex;\n height: 100%;\n justify-content: center;\n overflow: hidden;\n padding: 1rem;\n position: relative;\n}\n\n.room-platform-stage-title {\n font-size: 1.125rem;\n font-weight: 700;\n}\n\n.room-platform-sidebar {\n background: var(--room-platform-surface);\n border: 1px solid var(--room-platform-border);\n border-radius: 8px;\n min-width: 0;\n overflow: hidden;\n width: 100%;\n}\n\n.room-platform-control-anchor {\n align-items: stretch;\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n}\n\n.room-platform-control-bar {\n bottom: 0;\n display: flex;\n justify-content: center;\n left: 0;\n margin: auto;\n padding: 0 0.75rem 0.75rem;\n position: absolute;\n right: 0;\n transition: transform 200ms ease;\n width: fit-content;\n z-index: 40;\n}\n\n.room-platform-control-bar--hidden {\n transform: translateY(calc(100% - 0.75rem));\n}\n\n.room-platform-control-reveal {\n bottom: 0.25rem;\n left: 50%;\n position: absolute;\n transform: translateX(-50%);\n z-index: 30;\n}\n\n.room-platform-side-media {\n display: grid;\n gap: 0.75rem;\n padding: 0.75rem;\n}\n\n.room-platform-video-tile {\n background: #0f172a;\n border-radius: 8px;\n color: #fff;\n min-height: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n\n.room-platform-video-tile--preview,\n.room-platform-video-tile--active-speaker {\n aspect-ratio: 16 / 9;\n}\n\n.room-platform-video-tile--stage,\n.room-platform-video-tile--overlay {\n height: 100%;\n}\n\n.room-platform-video-tile-media {\n display: block;\n height: 100%;\n object-fit: cover;\n width: 100%;\n}\n\n.room-platform-video-tile--stage .room-platform-video-tile-media {\n object-fit: contain;\n}\n\n.room-platform-video-tile-media--mirrored {\n transform: scaleX(-1);\n}\n\n.room-platform-video-tile-label {\n background: rgb(15 23 42 / 75%);\n border-radius: 999px;\n bottom: 0.5rem;\n font-size: 0.75rem;\n font-weight: 700;\n left: 0.5rem;\n max-width: calc(100% - 1rem);\n overflow: hidden;\n padding: 0.25rem 0.5rem;\n position: absolute;\n text-overflow: ellipsis;\n white-space: nowrap;\n z-index: 15;\n}\n\n.room-platform-video-tile-empty {\n align-items: center;\n display: flex;\n font-size: 0.8125rem;\n height: 100%;\n justify-content: center;\n margin: 0;\n min-height: 8rem;\n padding: 1rem;\n text-align: center;\n}\n\n.room-platform-tabs {\n border-bottom: 1px solid var(--room-platform-border);\n display: flex;\n gap: 0.25rem;\n overflow-x: auto;\n padding: 0.5rem;\n}\n\n.room-platform-tab {\n background: transparent;\n border: 0;\n border-radius: 6px;\n color: #475569;\n cursor: pointer;\n font: inherit;\n font-size: 0.875rem;\n padding: 0.4rem 0.6rem;\n white-space: nowrap;\n}\n\n.room-platform-tab[aria-selected='true'] {\n background: #e9edf9;\n color: var(--room-platform-navy);\n font-weight: 700;\n}\n\n.room-platform-tab-panel {\n padding: 0.75rem;\n}\n\n.room-platform-participant-list {\n display: grid;\n gap: 0.5rem;\n}\n\n.room-platform-participant-row {\n align-items: center;\n display: flex;\n gap: 0.75rem;\n justify-content: space-between;\n padding: 0.75rem;\n}\n\n.room-platform-participant-identity {\n align-items: center;\n display: flex;\n gap: 0.5rem;\n min-width: 0;\n}\n\n.room-platform-participant-name,\n.room-platform-participant-subtitle {\n margin: 0;\n}\n\n.room-platform-participant-name {\n color: var(--room-platform-navy);\n font-size: 1rem;\n font-weight: 700;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.room-platform-participant-status-dot {\n border-radius: 9999px;\n flex: 0 0 auto;\n height: 0.625rem;\n width: 0.625rem;\n}\n\n.room-platform-participant-status-dot[data-online='true'] {\n background: #10b981;\n box-shadow: 0 0 0 2px #d1fae5;\n}\n\n.room-platform-participant-status-dot[data-online='false'] {\n background: #cbd5e1;\n box-shadow: 0 0 0 2px #f1f5f9;\n}\n\n.room-platform-participant-subtitle {\n color: #64748b;\n font-size: 0.75rem;\n}\n\n.room-platform-participant-presence {\n color: #64748b;\n font-size: 0.75rem;\n font-weight: 500;\n margin: 0.25rem 0 0;\n}\n\n.room-platform-participant-presence[data-online='true'] {\n color: #16a34a;\n}\n\n.room-platform-participant-row-trailing,\n.room-platform-participant-actions {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n justify-content: flex-end;\n}\n\n.room-platform-participant-actions .room-platform-button {\n font-size: 0.75rem;\n min-height: 1.75rem;\n padding: 0.25rem 0.5rem;\n}\n\n.room-platform-action-error {\n color: #b42318;\n font-size: 0.8125rem;\n margin: 0.5rem 0 0;\n}\n\n.room-platform-error {\n color: #fca5a5;\n font-size: 0.8125rem;\n margin: 0.5rem 0 0;\n}\n\n.room-platform-empty {\n color: #64748b;\n font-size: 0.875rem;\n margin: 0;\n padding: 1rem 0;\n text-align: center;\n}\n\n.room-platform-whiteboard {\n height: 100%;\n width: 100%;\n}\n\n.room-platform-surface-error {\n align-items: center;\n background: rgb(15 23 42 / 88%);\n color: #fff;\n display: flex;\n height: 100%;\n justify-content: center;\n margin: 0;\n padding: 1rem;\n text-align: center;\n width: 100%;\n}\n\n.room-platform-start-audio {\n background: #242f62;\n border: 0;\n border-radius: 8px;\n color: #fff;\n cursor: pointer;\n left: 50%;\n padding: 0.625rem 1rem;\n position: fixed;\n top: 1rem;\n transform: translateX(-50%);\n z-index: 50;\n}\n\n.room-platform-start-audio:focus-visible {\n outline: 3px solid #eb6619;\n outline-offset: 2px;\n}\n\n.room-platform-stage-frame {\n align-items: center;\n background: #0f172a;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n max-height: 100%;\n max-width: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n\n.room-platform-stage-frame > video {\n display: block;\n height: 100%;\n object-fit: contain;\n width: 100%;\n}\n\n.room-platform-stage-content {\n inset: 0;\n position: absolute;\n z-index: 10;\n}\n\n.room-platform-stage-camera-overlay {\n aspect-ratio: 16 / 9;\n left: 1rem;\n max-width: 40%;\n overflow: hidden;\n position: absolute;\n top: 1rem;\n width: 12rem;\n z-index: 20;\n}\n\n.room-platform-stage-camera-overlay video {\n height: 100%;\n object-fit: cover;\n width: 100%;\n}\n\n.room-platform-stage-status {\n background: rgb(15 23 42 / 80%);\n border-radius: 999px;\n color: #dbeafe;\n left: 50%;\n margin: 0;\n padding: 0.375rem 0.75rem;\n position: absolute;\n top: 1.5rem;\n transform: translateX(-50%);\n z-index: 30;\n}\n\n@keyframes private-live-room-bell-ring {\n 0%,\n 52%,\n 100% {\n transform: rotate(0deg);\n }\n 6% {\n transform: rotate(14deg);\n }\n 12% {\n transform: rotate(-14deg);\n }\n 18% {\n transform: rotate(12deg);\n }\n 24% {\n transform: rotate(-10deg);\n }\n 30% {\n transform: rotate(8deg);\n }\n 38% {\n transform: rotate(-5deg);\n }\n 46% {\n transform: rotate(3deg);\n }\n}\n\n.private-live-room-ringing-bell {\n display: inline-flex;\n animation: private-live-room-bell-ring 2.2s ease-in-out infinite;\n transform-box: fill-box;\n transform-origin: 50% 0%;\n will-change: transform;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .private-live-room-ringing-bell {\n animation: none;\n }\n}\n\n@media (max-width: 900px) {\n .room-platform-stage-area {\n min-height: 20rem;\n }\n}\n\n@media (max-width: 767px) {\n .room-platform-shell-body {\n grid-template-columns: 1fr;\n grid-template-rows: minmax(15rem, 45dvh) minmax(0, 1fr);\n }\n\n .room-platform-shell-body > .room-platform-shell-main:only-child {\n grid-row: 1 / -1;\n }\n\n .room-platform-shell-sidebar {\n max-width: none;\n }\n\n .room-platform-top-bar {\n align-items: flex-start;\n flex-direction: column;\n gap: 0.75rem;\n }\n\n .room-platform-top-bar-heading,\n .room-platform-top-bar-trailing {\n justify-content: flex-start;\n width: 100%;\n }\n\n .room-platform-main {\n flex-direction: column;\n padding: 0.5rem;\n }\n}\n";
|
|
29711
|
+
var roomPlatformGeneratedStyles = ".room-platform-room *{--tw-translate-x:0;--tw-translate-y:0}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.room-platform-room *,.room-platform-room :before,.room-platform-room :after,.room-platform-room ::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:\"\";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}.room-platform-room{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-400:oklch(76.5% .177 163.223);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--radius-md:calc(var(--radius) * .8);--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-quicksand);--default-mono-font-family:var(--font-mono);--toast-success-bg:#dcfce7;--toast-success-border:#74d498;--toast-success-text:#125a2d;--toast-info-bg:#dbeafe;--toast-info-border:#93c5fd;--toast-info-text:#1d4ed8;--toast-warning-bg:#fef3c7;--toast-warning-border:#fcd34d;--toast-warning-text:#b45309;--toast-error-bg:#fee2e2;--toast-error-border:#fca5a5;--toast-error-text:#b91c1c;--color-liveclass-orange:#eb6619}.room-platform-room *,.room-platform-room :after,.room-platform-room :before,.room-platform-room ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}.room-platform-room ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.room-platform-room html,.room-platform-room{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}.room-platform-room hr{height:0;color:inherit;border-top-width:1px}.room-platform-room abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.room-platform-room h1,.room-platform-room h2,.room-platform-room h3,.room-platform-room h4,.room-platform-room h5,.room-platform-room h6{font-size:inherit;font-weight:inherit}.room-platform-room a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.room-platform-room b,.room-platform-room strong{font-weight:bolder}.room-platform-room code,.room-platform-room kbd,.room-platform-room samp,.room-platform-room pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}.room-platform-room small{font-size:80%}.room-platform-room sub,.room-platform-room sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.room-platform-room sub{bottom:-.25em}.room-platform-room sup{top:-.5em}.room-platform-room table{text-indent:0;border-color:inherit;border-collapse:collapse}.room-platform-room :-moz-focusring{outline:auto}.room-platform-room progress{vertical-align:baseline}.room-platform-room summary{display:list-item}.room-platform-room ol,.room-platform-room ul,.room-platform-room menu{list-style:none}.room-platform-room img,.room-platform-room svg,.room-platform-room video,.room-platform-room canvas,.room-platform-room audio,.room-platform-room iframe,.room-platform-room embed,.room-platform-room object{vertical-align:middle;display:block}.room-platform-room img,.room-platform-room video{max-width:100%;height:auto}.room-platform-room button,.room-platform-room input,.room-platform-room select,.room-platform-room optgroup,.room-platform-room textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.room-platform-room ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.room-platform-room :where(select:is([multiple],[size])) optgroup{font-weight:bolder}.room-platform-room :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}.room-platform-room ::file-selector-button{margin-inline-end:4px}.room-platform-room ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){.room-platform-room ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){.room-platform-room ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}.room-platform-room textarea{resize:vertical}.room-platform-room ::-webkit-search-decoration{-webkit-appearance:none}.room-platform-room ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}.room-platform-room ::-webkit-datetime-edit{display:inline-flex}.room-platform-room ::-webkit-datetime-edit-fields-wrapper{padding:0}.room-platform-room ::-webkit-datetime-edit{padding-block:0}.room-platform-room ::-webkit-datetime-edit-year-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-month-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-day-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-hour-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-minute-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-second-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-millisecond-field{padding-block:0}.room-platform-room ::-webkit-datetime-edit-meridiem-field{padding-block:0}.room-platform-room ::-webkit-calendar-picker-indicator{line-height:1}.room-platform-room :-moz-ui-invalid{box-shadow:none}.room-platform-room button,.room-platform-room input:where([type=button],[type=reset],[type=submit]){appearance:button}.room-platform-room ::file-selector-button{appearance:button}.room-platform-room ::-webkit-inner-spin-button{height:auto}.room-platform-room ::-webkit-outer-spin-button{height:auto}.room-platform-room [hidden]:where(:not([hidden=until-found])){display:none!important}.room-platform-room *{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room *{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.room-platform-room body{background-color:var(--background);color:var(--foreground)}.room-platform-room [data-sonner-toast][data-type=success]{background:var(--toast-success-bg)!important;border:1px solid var(--toast-success-border)!important;color:var(--toast-success-text)!important}.room-platform-room [data-sonner-toast][data-type=info]{background:var(--toast-info-bg)!important;border:1px solid var(--toast-info-border)!important;color:var(--toast-info-text)!important}.room-platform-room [data-sonner-toast][data-type=warning]{background:var(--toast-warning-bg)!important;border:1px solid var(--toast-warning-border)!important;color:var(--toast-warning-text)!important}.room-platform-room [data-sonner-toast][data-type=error]{background:var(--toast-error-bg)!important;border:1px solid var(--toast-error-border)!important;color:var(--toast-error-text)!important}.room-platform-room .\\@container\\/card-header{container:card-header/inline-size}.room-platform-room .\\@container\\/field-group{container:field-group/inline-size}.room-platform-room .pointer-events-auto{pointer-events:auto}.room-platform-room .pointer-events-none{pointer-events:none}.room-platform-room .invisible{visibility:hidden}.room-platform-room .visible{visibility:visible}.room-platform-room .sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room-platform-room .absolute{position:absolute}.room-platform-room .fixed{position:fixed}.room-platform-room .relative{position:relative}.room-platform-room .static{position:static}.room-platform-room .inset-0{inset:calc(var(--spacing) * 0)}.room-platform-room .inset-x-0{inset-inline:calc(var(--spacing) * 0)}.room-platform-room .inset-x-3{inset-inline:calc(var(--spacing) * 3)}.room-platform-room .inset-y-0{inset-block:calc(var(--spacing) * 0)}.room-platform-room .start{inset-inline-start:var(--spacing)}.room-platform-room .end{inset-inline-end:var(--spacing)}.room-platform-room .-top-12{top:calc(var(--spacing) * -12)}.room-platform-room .top-0{top:calc(var(--spacing) * 0)}.room-platform-room .top-1\\.5{top:calc(var(--spacing) * 1.5)}.room-platform-room .top-1\\/2{top:50%}.room-platform-room .top-2{top:calc(var(--spacing) * 2)}.room-platform-room .top-3{top:calc(var(--spacing) * 3)}.room-platform-room .top-3\\.5{top:calc(var(--spacing) * 3.5)}.room-platform-room .top-4{top:calc(var(--spacing) * 4)}.room-platform-room .-right-12{right:calc(var(--spacing) * -12)}.room-platform-room .right-0{right:calc(var(--spacing) * 0)}.room-platform-room .right-1{right:calc(var(--spacing) * 1)}.room-platform-room .right-2{right:calc(var(--spacing) * 2)}.room-platform-room .right-3{right:calc(var(--spacing) * 3)}.room-platform-room .right-4{right:calc(var(--spacing) * 4)}.room-platform-room .-bottom-12{bottom:calc(var(--spacing) * -12)}.room-platform-room .bottom-0{bottom:calc(var(--spacing) * 0)}.room-platform-room .bottom-1{bottom:calc(var(--spacing) * 1)}.room-platform-room .bottom-2{bottom:calc(var(--spacing) * 2)}.room-platform-room .bottom-3{bottom:calc(var(--spacing) * 3)}.room-platform-room .bottom-4{bottom:calc(var(--spacing) * 4)}.room-platform-room .-left-12{left:calc(var(--spacing) * -12)}.room-platform-room .left-0{left:calc(var(--spacing) * 0)}.room-platform-room .left-1\\/2{left:50%}.room-platform-room .left-2{left:calc(var(--spacing) * 2)}.room-platform-room .left-3{left:calc(var(--spacing) * 3)}.room-platform-room .left-4{left:calc(var(--spacing) * 4)}.room-platform-room .isolate{isolation:isolate}.room-platform-room .z-0{z-index:0}.room-platform-room .z-10{z-index:10}.room-platform-room .z-20{z-index:20}.room-platform-room .z-30{z-index:30}.room-platform-room .z-40{z-index:40}.room-platform-room .z-50{z-index:50}.room-platform-room .z-\\[70\\]{z-index:70}.room-platform-room .order-first{order:-9999}.room-platform-room .order-last{order:9999}.room-platform-room .col-start-2{grid-column-start:2}.room-platform-room .row-span-2{grid-row:span 2/span 2}.room-platform-room .row-start-1{grid-row-start:1}.room-platform-room .container{width:100%}@media (min-width:40rem){.room-platform-room .container{max-width:40rem}}@media (min-width:48rem){.room-platform-room .container{max-width:48rem}}@media (min-width:64rem){.room-platform-room .container{max-width:64rem}}@media (min-width:80rem){.room-platform-room .container{max-width:80rem}}@media (min-width:96rem){.room-platform-room .container{max-width:96rem}}.room-platform-room .m-0{margin:calc(var(--spacing) * 0)}.room-platform-room .m-auto{margin:auto}.room-platform-room .-mx-1{margin-inline:calc(var(--spacing) * -1)}.room-platform-room .-mx-4{margin-inline:calc(var(--spacing) * -4)}.room-platform-room .mx-2{margin-inline:calc(var(--spacing) * 2)}.room-platform-room .mx-3\\.5{margin-inline:calc(var(--spacing) * 3.5)}.room-platform-room .mx-auto{margin-inline:auto}.room-platform-room .-my-2{margin-block:calc(var(--spacing) * -2)}.room-platform-room .my-1{margin-block:calc(var(--spacing) * 1)}.room-platform-room .-mt-4{margin-top:calc(var(--spacing) * -4)}.room-platform-room .mt-2{margin-top:calc(var(--spacing) * 2)}.room-platform-room .mt-3{margin-top:calc(var(--spacing) * 3)}.room-platform-room .mt-4{margin-top:calc(var(--spacing) * 4)}.room-platform-room .mt-auto{margin-top:auto}.room-platform-room .-mb-4{margin-bottom:calc(var(--spacing) * -4)}.room-platform-room .mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.room-platform-room .mb-2{margin-bottom:calc(var(--spacing) * 2)}.room-platform-room .mb-3{margin-bottom:calc(var(--spacing) * 3)}.room-platform-room .-ml-1{margin-left:calc(var(--spacing) * -1)}.room-platform-room .-ml-4{margin-left:calc(var(--spacing) * -4)}.room-platform-room .ml-4{margin-left:calc(var(--spacing) * 4)}.room-platform-room .ml-auto{margin-left:auto}.room-platform-room .no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.room-platform-room .no-scrollbar::-webkit-scrollbar{display:none}.room-platform-room .block{display:block}.room-platform-room .flex{display:flex}.room-platform-room .grid{display:grid}.room-platform-room .hidden{display:none}.room-platform-room .inline{display:inline}.room-platform-room .inline-flex{display:inline-flex}.room-platform-room .inline-grid{display:inline-grid}.room-platform-room .table{display:table}.room-platform-room .table-caption{display:table-caption}.room-platform-room .table-cell{display:table-cell}.room-platform-room .table-row{display:table-row}.room-platform-room .field-sizing-content{field-sizing:content}.room-platform-room .aspect-square{aspect-ratio:1}.room-platform-room .aspect-video{aspect-ratio:var(--aspect-video)}.room-platform-room .size-\\(--cell-size\\){width:var(--cell-size);height:var(--cell-size)}.room-platform-room .size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.room-platform-room .size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.room-platform-room .size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.room-platform-room .size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.room-platform-room .size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.room-platform-room .size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.room-platform-room .size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.room-platform-room .size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.room-platform-room .size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.room-platform-room .size-auto{width:auto;height:auto}.room-platform-room .size-full{width:100%;height:100%}.room-platform-room .h-\\(--cell-size\\){height:var(--cell-size)}.room-platform-room .h-1{height:calc(var(--spacing) * 1)}.room-platform-room .h-4{height:calc(var(--spacing) * 4)}.room-platform-room .h-5{height:calc(var(--spacing) * 5)}.room-platform-room .h-6{height:calc(var(--spacing) * 6)}.room-platform-room .h-7{height:calc(var(--spacing) * 7)}.room-platform-room .h-8{height:calc(var(--spacing) * 8)}.room-platform-room .h-9{height:calc(var(--spacing) * 9)}.room-platform-room .h-10{height:calc(var(--spacing) * 10)}.room-platform-room .h-10\\!{height:calc(var(--spacing) * 10)!important}.room-platform-room .h-12{height:calc(var(--spacing) * 12)}.room-platform-room .h-\\[calc\\(--spacing\\(5\\.25\\)\\)\\]{height:calc(calc(var(--spacing) * 5.25))}.room-platform-room .h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.room-platform-room .h-auto{height:auto}.room-platform-room .h-dvh{height:100dvh}.room-platform-room .h-full{height:100%}.room-platform-room .h-px{height:1px}.room-platform-room .h-screen{height:100vh}.room-platform-room .h-svh{height:100svh}.room-platform-room .max-h-\\(--available-height\\){max-height:var(--available-height)}.room-platform-room .max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.room-platform-room .max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.room-platform-room .max-h-\\[85vh\\]{max-height:85vh}.room-platform-room .max-h-\\[min\\(calc\\(--spacing\\(72\\)---spacing\\(9\\)\\)\\,calc\\(var\\(--available-height\\)---spacing\\(9\\)\\)\\)\\]{max-height:min(calc(calc(var(--spacing) * 72) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)))}.room-platform-room .max-h-full{max-height:100%}.room-platform-room .min-h-0{min-height:calc(var(--spacing) * 0)}.room-platform-room .min-h-8{min-height:calc(var(--spacing) * 8)}.room-platform-room .min-h-16{min-height:calc(var(--spacing) * 16)}.room-platform-room .min-h-18{min-height:calc(var(--spacing) * 18)}.room-platform-room .min-h-\\[320px\\]{min-height:320px}.room-platform-room .min-h-dvh{min-height:100dvh}.room-platform-room .min-h-svh{min-height:100svh}.room-platform-room .w-\\(--anchor-width\\){width:var(--anchor-width)}.room-platform-room .w-\\(--cell-size\\){width:var(--cell-size)}.room-platform-room .w-\\(--radix-dropdown-menu-trigger-width\\){width:var(--radix-dropdown-menu-trigger-width)}.room-platform-room .w-4{width:calc(var(--spacing) * 4)}.room-platform-room .w-5{width:calc(var(--spacing) * 5)}.room-platform-room .w-9{width:calc(var(--spacing) * 9)}.room-platform-room .w-48{width:calc(var(--spacing) * 48)}.room-platform-room .w-72{width:calc(var(--spacing) * 72)}.room-platform-room .w-\\[var\\(--sidebar-width\\)\\]{width:var(--sidebar-width)}.room-platform-room .w-auto{width:auto}.room-platform-room .w-dvw{width:100dvw}.room-platform-room .w-fit{width:fit-content}.room-platform-room .w-full{width:100%}.room-platform-room .w-full\\!{width:100%!important}.room-platform-room .w-screen{width:100vw}.room-platform-room .max-w-\\(--available-width\\){max-width:var(--available-width)}.room-platform-room .max-w-\\[40\\%\\]{max-width:40%}.room-platform-room .max-w-\\[calc\\(100\\%-1\\.5rem\\)\\]{max-width:calc(100% - 1.5rem)}.room-platform-room .max-w-\\[calc\\(100\\%-1rem\\)\\]{max-width:calc(100% - 1rem)}.room-platform-room .max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.room-platform-room .max-w-\\[var\\(--skeleton-width\\)\\]{max-width:var(--skeleton-width)}.room-platform-room .max-w-full{max-width:100%}.room-platform-room .max-w-none{max-width:none}.room-platform-room .max-w-xs{max-width:var(--container-xs)}.room-platform-room .min-w-\\(--cell-size\\){min-width:var(--cell-size)}.room-platform-room .min-w-0{min-width:calc(var(--spacing) * 0)}.room-platform-room .min-w-5{min-width:calc(var(--spacing) * 5)}.room-platform-room .min-w-7{min-width:calc(var(--spacing) * 7)}.room-platform-room .min-w-8{min-width:calc(var(--spacing) * 8)}.room-platform-room .min-w-9{min-width:calc(var(--spacing) * 9)}.room-platform-room .min-w-16{min-width:calc(var(--spacing) * 16)}.room-platform-room .min-w-32{min-width:calc(var(--spacing) * 32)}.room-platform-room .min-w-36{min-width:calc(var(--spacing) * 36)}.room-platform-room .min-w-\\[96px\\]{min-width:96px}.room-platform-room .min-w-\\[calc\\(var\\(--anchor-width\\)\\+--spacing\\(7\\)\\)\\]{min-width:calc(var(--anchor-width) + calc(var(--spacing) * 7))}.room-platform-room .flex-1{flex:1}.room-platform-room .flex-none{flex:none}.room-platform-room .shrink-0{flex-shrink:0}.room-platform-room .grow-0{flex-grow:0}.room-platform-room .basis-full{flex-basis:100%}.room-platform-room .caption-bottom{caption-side:bottom}.room-platform-room .origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.room-platform-room .origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.room-platform-room .origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.room-platform-room .origin-\\(--transform-origin\\){transform-origin:var(--transform-origin)}.room-platform-room .-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .translate-y-\\[calc\\(100\\%-0\\.75rem\\)\\]{--tw-translate-y:calc(100% - .75rem);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .-scale-x-100{--tw-scale-x:calc(100% * -1);scale:var(--tw-scale-x) var(--tw-scale-y)}.room-platform-room .rotate-45{rotate:45deg}.room-platform-room .rotate-90{rotate:90deg}.room-platform-room .transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.room-platform-room .animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.room-platform-room .animate-pulse{animation:var(--animate-pulse)}.room-platform-room .animate-spin{animation:var(--animate-spin)}.room-platform-room .cursor-default{cursor:default}.room-platform-room .cursor-not-allowed{cursor:not-allowed}.room-platform-room .cursor-pointer{cursor:pointer}.room-platform-room .cursor-text{cursor:text}.room-platform-room .touch-manipulation{touch-action:manipulation}.room-platform-room .resize{resize:both}.room-platform-room .resize-none{resize:none}.room-platform-room .scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.room-platform-room .scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.room-platform-room .list-disc{list-style-type:disc}.room-platform-room .auto-rows-min{grid-auto-rows:min-content}.room-platform-room .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.room-platform-room .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.room-platform-room .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.room-platform-room .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.room-platform-room .grid-rows-\\[auto_1fr\\]{grid-template-rows:auto 1fr}.room-platform-room .grid-rows-\\[max-content_minmax\\(0\\,1fr\\)\\]{grid-template-rows:max-content minmax(0,1fr)}.room-platform-room .flex-col{flex-direction:column}.room-platform-room .flex-col-reverse{flex-direction:column-reverse}.room-platform-room .flex-row{flex-direction:row}.room-platform-room .flex-wrap{flex-wrap:wrap}.room-platform-room .place-content-center{place-content:center}.room-platform-room .place-items-center{place-items:center}.room-platform-room .content-start{align-content:flex-start}.room-platform-room .items-center{align-items:center}.room-platform-room .items-end{align-items:flex-end}.room-platform-room .items-start{align-items:flex-start}.room-platform-room .items-stretch{align-items:stretch}.room-platform-room .justify-between{justify-content:space-between}.room-platform-room .justify-center{justify-content:center}.room-platform-room .justify-end{justify-content:flex-end}.room-platform-room .justify-start{justify-content:flex-start}.room-platform-room .gap-0{gap:calc(var(--spacing) * 0)}.room-platform-room .gap-0\\.5{gap:calc(var(--spacing) * .5)}.room-platform-room .gap-1{gap:calc(var(--spacing) * 1)}.room-platform-room .gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.room-platform-room .gap-2{gap:calc(var(--spacing) * 2)}.room-platform-room .gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.room-platform-room .gap-3{gap:calc(var(--spacing) * 3)}.room-platform-room .gap-4{gap:calc(var(--spacing) * 4)}.room-platform-room .gap-5{gap:calc(var(--spacing) * 5)}.room-platform-room .gap-\\[--spacing\\(var\\(--gap\\)\\)\\]{gap:calc(var(--spacing) * var(--gap))}.room-platform-room .self-start{align-self:flex-start}.room-platform-room .self-stretch{align-self:stretch}.room-platform-room .justify-self-end{justify-self:flex-end}.room-platform-room .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-platform-room .overflow-auto{overflow:auto}.room-platform-room .overflow-hidden{overflow:hidden}.room-platform-room .overflow-x-auto{overflow-x:auto}.room-platform-room .overflow-x-hidden{overflow-x:hidden}.room-platform-room .overflow-y-auto{overflow-y:auto}.room-platform-room .overscroll-contain{overscroll-behavior:contain}.room-platform-room .rounded-\\(--cell-radius\\){border-radius:var(--cell-radius)}.room-platform-room .rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.room-platform-room .rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.room-platform-room .rounded-\\[2px\\]{border-radius:2px}.room-platform-room .rounded-\\[4px\\]{border-radius:4px}.room-platform-room .rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\]{border-radius:calc(var(--radius) - 3px)}.room-platform-room .rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\]{border-radius:min(var(--radius-md), 10px)}.room-platform-room .rounded-\\[min\\(var\\(--radius-md\\)\\,12px\\)\\]{border-radius:min(var(--radius-md), 12px)}.room-platform-room .rounded-full{border-radius:3.40282e38px}.room-platform-room .rounded-lg{border-radius:var(--radius)}.room-platform-room .rounded-md{border-radius:calc(var(--radius) * .8)}.room-platform-room .rounded-none{border-radius:0}.room-platform-room .rounded-sm{border-radius:calc(var(--radius) * .6)}.room-platform-room .rounded-xl{border-radius:calc(var(--radius) * 1.4)}.room-platform-room .rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.room-platform-room .rounded-l-\\(--cell-radius\\){border-top-left-radius:var(--cell-radius);border-bottom-left-radius:var(--cell-radius)}.room-platform-room .rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.room-platform-room .rounded-r-\\(--cell-radius\\){border-top-right-radius:var(--cell-radius);border-bottom-right-radius:var(--cell-radius)}.room-platform-room .rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.room-platform-room .border{border-style:var(--tw-border-style);border-width:1px}.room-platform-room .border-0{border-style:var(--tw-border-style);border-width:0}.room-platform-room .border-2{border-style:var(--tw-border-style);border-width:2px}.room-platform-room .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.room-platform-room .border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.room-platform-room .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.room-platform-room .border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .border-dashed{--tw-border-style:dashed;border-style:dashed}.room-platform-room .border-\\[\\#2563EB\\]{border-color:#2563eb}.room-platform-room .border-amber-200{border-color:var(--color-amber-200)}.room-platform-room .border-border{border-color:var(--border)}.room-platform-room .border-input{border-color:var(--input)}.room-platform-room .border-liveclass-orange{border-color:var(--color-liveclass-orange)}.room-platform-room .border-liveclass-orange\\/30{border-color:#eb66194d}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-liveclass-orange\\/30{border-color:color-mix(in oklab, var(--color-liveclass-orange) 30%, transparent)}}.room-platform-room .border-primary\\/10{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-primary\\/10{border-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.room-platform-room .border-red-200{border-color:var(--color-red-200)}.room-platform-room .border-red-300\\/40{border-color:#ffa3a366}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-red-300\\/40{border-color:color-mix(in oklab, var(--color-red-300) 40%, transparent)}}.room-platform-room .border-red-600{border-color:var(--color-red-600)}.room-platform-room .border-sidebar-border{border-color:var(--sidebar-border)}.room-platform-room .border-slate-200{border-color:var(--color-slate-200)}.room-platform-room .border-slate-300{border-color:var(--color-slate-300)}.room-platform-room .border-transparent{border-color:#0000}.room-platform-room .border-white{border-color:var(--color-white)}.room-platform-room .border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-white\\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.room-platform-room .border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-white\\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.room-platform-room .border-white\\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.room-platform-room .border-white\\/30{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.room-platform-room .bg-amber-50{background-color:var(--color-amber-50)}.room-platform-room .bg-background{background-color:var(--background)}.room-platform-room .bg-black{background-color:var(--color-black)}.room-platform-room .bg-black\\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-black\\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.room-platform-room .bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-black\\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.room-platform-room .bg-border{background-color:var(--border)}.room-platform-room .bg-card{background-color:var(--card)}.room-platform-room .bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.room-platform-room .bg-input{background-color:var(--input)}.room-platform-room .bg-liveclass-orange{background-color:var(--color-liveclass-orange)}.room-platform-room .bg-liveclass-orange\\/10{background-color:#eb66191a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-liveclass-orange\\/10{background-color:color-mix(in oklab, var(--color-liveclass-orange) 10%, transparent)}}.room-platform-room .bg-muted,.room-platform-room .bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.room-platform-room .bg-popover{background-color:var(--popover)}.room-platform-room .bg-primary,.room-platform-room .bg-primary\\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-primary\\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.room-platform-room .bg-red-50{background-color:var(--color-red-50)}.room-platform-room .bg-red-600{background-color:var(--color-red-600)}.room-platform-room .bg-secondary{background-color:var(--secondary)}.room-platform-room .bg-sidebar{background-color:var(--sidebar)}.room-platform-room .bg-sidebar-border{background-color:var(--sidebar-border)}.room-platform-room .bg-slate-50{background-color:var(--color-slate-50)}.room-platform-room .bg-slate-900{background-color:var(--color-slate-900)}.room-platform-room .bg-slate-900\\/45{background-color:#0f172b73}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-900\\/45{background-color:color-mix(in oklab, var(--color-slate-900) 45%, transparent)}}.room-platform-room .bg-slate-950{background-color:var(--color-slate-950)}.room-platform-room .bg-slate-950\\/40{background-color:#02061866}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-950\\/40{background-color:color-mix(in oklab, var(--color-slate-950) 40%, transparent)}}.room-platform-room .bg-slate-950\\/75{background-color:#020618bf}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-950\\/75{background-color:color-mix(in oklab, var(--color-slate-950) 75%, transparent)}}.room-platform-room .bg-slate-950\\/80{background-color:#020618cc}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-950\\/80{background-color:color-mix(in oklab, var(--color-slate-950) 80%, transparent)}}.room-platform-room .bg-slate-950\\/90{background-color:#020618e6}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-slate-950\\/90{background-color:color-mix(in oklab, var(--color-slate-950) 90%, transparent)}}.room-platform-room .bg-transparent{background-color:#0000}.room-platform-room .bg-white{background-color:var(--color-white)}.room-platform-room .bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.room-platform-room .bg-white\\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.room-platform-room .bg-clip-padding{background-clip:padding-box}.room-platform-room .fill-primary{fill:var(--primary)}.room-platform-room .object-contain{object-fit:contain}.room-platform-room .object-cover{object-fit:cover}.room-platform-room .p-0{padding:calc(var(--spacing) * 0)}.room-platform-room .p-1{padding:calc(var(--spacing) * 1)}.room-platform-room .p-2{padding:calc(var(--spacing) * 2)}.room-platform-room .p-2\\.5{padding:calc(var(--spacing) * 2.5)}.room-platform-room .p-3{padding:calc(var(--spacing) * 3)}.room-platform-room .p-4{padding:calc(var(--spacing) * 4)}.room-platform-room .p-6{padding:calc(var(--spacing) * 6)}.room-platform-room .p-\\[3px\\]{padding:3px}.room-platform-room .px-\\(--cell-size\\){padding-inline:var(--cell-size)}.room-platform-room .px-1{padding-inline:calc(var(--spacing) * 1)}.room-platform-room .px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.room-platform-room .px-2{padding-inline:calc(var(--spacing) * 2)}.room-platform-room .px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.room-platform-room .px-3{padding-inline:calc(var(--spacing) * 3)}.room-platform-room .px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.room-platform-room .px-4{padding-inline:calc(var(--spacing) * 4)}.room-platform-room .py-0\\.5{padding-block:calc(var(--spacing) * .5)}.room-platform-room .py-1{padding-block:calc(var(--spacing) * 1)}.room-platform-room .py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.room-platform-room .py-2{padding-block:calc(var(--spacing) * 2)}.room-platform-room .py-3{padding-block:calc(var(--spacing) * 3)}.room-platform-room .py-4{padding-block:calc(var(--spacing) * 4)}.room-platform-room .pt-2{padding-top:calc(var(--spacing) * 2)}.room-platform-room .pt-4{padding-top:calc(var(--spacing) * 4)}.room-platform-room .pr-2{padding-right:calc(var(--spacing) * 2)}.room-platform-room .pr-8{padding-right:calc(var(--spacing) * 8)}.room-platform-room .pr-10{padding-right:calc(var(--spacing) * 10)}.room-platform-room .pr-20{padding-right:calc(var(--spacing) * 20)}.room-platform-room .pb-2{padding-bottom:calc(var(--spacing) * 2)}.room-platform-room .pb-3{padding-bottom:calc(var(--spacing) * 3)}.room-platform-room .pl-1\\.5{padding-left:calc(var(--spacing) * 1.5)}.room-platform-room .pl-2{padding-left:calc(var(--spacing) * 2)}.room-platform-room .pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.room-platform-room .pl-4{padding-left:calc(var(--spacing) * 4)}.room-platform-room .text-center{text-align:center}.room-platform-room .text-left{text-align:left}.room-platform-room .align-middle{vertical-align:middle}.room-platform-room .text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.room-platform-room .text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .text-sm\\!{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.room-platform-room .text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.room-platform-room .text-\\[0\\.8rem\\]{font-size:.8rem}.room-platform-room .leading-none{--tw-leading:1;line-height:1}.room-platform-room .leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.room-platform-room .leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.room-platform-room .font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.room-platform-room .font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.room-platform-room .font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.room-platform-room .font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.room-platform-room .tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.room-platform-room .text-balance{text-wrap:balance}.room-platform-room .whitespace-nowrap{white-space:nowrap}.room-platform-room .text-\\[\\#2563EB\\]{color:#2563eb}.room-platform-room .text-amber-700{color:var(--color-amber-700)}.room-platform-room .text-card-foreground{color:var(--card-foreground)}.room-platform-room .text-current{color:currentColor}.room-platform-room .text-destructive{color:var(--destructive)}.room-platform-room .text-foreground,.room-platform-room .text-foreground\\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-foreground\\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.room-platform-room .text-liveclass-orange{color:var(--color-liveclass-orange)}.room-platform-room .text-muted-foreground{color:var(--muted-foreground)}.room-platform-room .text-popover-foreground{color:var(--popover-foreground)}.room-platform-room .text-primary{color:var(--primary)}.room-platform-room .text-primary-foreground{color:var(--primary-foreground)}.room-platform-room .text-red-100{color:var(--color-red-100)}.room-platform-room .text-red-200{color:var(--color-red-200)}.room-platform-room .text-secondary-foreground{color:var(--secondary-foreground)}.room-platform-room .text-sidebar-foreground,.room-platform-room .text-sidebar-foreground\\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-sidebar-foreground\\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.room-platform-room .text-slate-300{color:var(--color-slate-300)}.room-platform-room .text-slate-400{color:var(--color-slate-400)}.room-platform-room .text-slate-500{color:var(--color-slate-500)}.room-platform-room .text-slate-700{color:var(--color-slate-700)}.room-platform-room .text-slate-950{color:var(--color-slate-950)}.room-platform-room .text-white{color:var(--color-white)}.room-platform-room .text-white\\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-white\\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.room-platform-room .text-white\\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-white\\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.room-platform-room .text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.room-platform-room .text-white\\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.room-platform-room .uppercase{text-transform:uppercase}.room-platform-room .tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.room-platform-room .underline-offset-4{text-underline-offset:4px}.room-platform-room .opacity-0{opacity:0}.room-platform-room .opacity-50{opacity:.5}.room-platform-room .opacity-70{opacity:.7}.room-platform-room .shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .ring-\\[\\#2563EB\\]\\/15{--tw-ring-color:oklab(54.615% -.026671 -.213549/.15)}.room-platform-room .ring-emerald-400{--tw-ring-color:var(--color-emerald-400)}.room-platform-room .ring-foreground\\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .ring-foreground\\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.room-platform-room .ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.room-platform-room .ring-white\\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .ring-white\\/10{--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.room-platform-room .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.room-platform-room .outline-hidden{outline-offset:2px;outline:2px solid #0000}}.room-platform-room .outline{outline-style:var(--tw-outline-style);outline-width:1px}.room-platform-room .blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.room-platform-room .blur-\\[3px\\]{--tw-blur:blur(3px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.room-platform-room .blur-\\[6px\\]{--tw-blur:blur(6px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.room-platform-room .drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.room-platform-room .backdrop-blur-\\[1px\\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.room-platform-room .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[width\\,transform\\,opacity\\]{transition-property:width,transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .transition-none{transition-property:none}.room-platform-room .duration-100{--tw-duration:.1s;transition-duration:.1s}.room-platform-room .duration-200{--tw-duration:.2s;transition-duration:.2s}.room-platform-room .ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.room-platform-room .ease-linear{--tw-ease:linear;transition-timing-function:linear}.room-platform-room .ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.room-platform-room .fade-in-0{--tw-enter-opacity:0}.room-platform-room .outline-none{--tw-outline-style:none;outline-style:none}.room-platform-room .select-none{-webkit-user-select:none;user-select:none}.room-platform-room .zoom-in-95{--tw-enter-scale:.95}.room-platform-room .\\[--cell-radius\\:var\\(--radius-md\\)\\]{--cell-radius:var(--radius-md)}.room-platform-room .\\[--cell-size\\:--spacing\\(7\\)\\]{--cell-size:calc(var(--spacing) * 7)}.room-platform-room .\\[room-platform-debug\\:camera\\.reconcile\\]{room-platform-debug:camera.reconcile}.room-platform-room .\\[room-platform-debug\\:camera\\.upstream\\.paused\\.completed\\]{room-platform-debug:camera.upstream.paused.completed}.room-platform-room .\\[room-platform-debug\\:stats\\.upload\\]{room-platform-debug:stats.upload}.room-platform-room .paused{animation-play-state:paused}.room-platform-room .ring-inset{--tw-ring-inset:inset}.room-platform-room .running{animation-play-state:running}.room-platform-room :is(.\\*\\:w-full>*){width:100%}.room-platform-room .group-focus-within\\/menu-item\\:opacity-100:is(:where(.group\\/menu-item):focus-within *){opacity:1}@media (hover:hover){.room-platform-room .group-hover\\/menu-item\\:opacity-100:is(:where(.group\\/menu-item):hover *){opacity:1}}.room-platform-room .group-focus\\/dropdown-menu-item\\:text-accent-foreground:is(:where(.group\\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.room-platform-room .group-has-disabled\\/field\\:opacity-50:is(:where(.group\\/field):has(:disabled) *){opacity:.5}.room-platform-room .group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pr-8:is(:where(.group\\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.room-platform-room .group-has-data-\\[slot\\=combobox-clear\\]\\/input-group\\:hidden:is(:where(.group\\/input-group):has([data-slot=combobox-clear]) *){display:none}.room-platform-room .group-has-data-horizontal\\/field\\:text-balance:is(:where(.group\\/field):has(:where([data-orientation=horizontal])) *){text-wrap:balance}.room-platform-room .group-has-\\[\\>input\\]\\/input-group\\:pt-2:is(:where(.group\\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2)}.room-platform-room .group-has-\\[\\>input\\]\\/input-group\\:pb-2:is(:where(.group\\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2)}.room-platform-room .group-has-\\[\\>svg\\]\\/alert\\:col-start-2:is(:where(.group\\/alert):has(>svg) *){grid-column-start:2}.room-platform-room .group-data-empty\\/combobox-content\\:flex:is(:where(.group\\/combobox-content)[data-empty] *){display:flex}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:size-8\\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+1rem\\)\\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem)}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+1rem\\+2px\\)\\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[var\\(--sidebar-width-icon\\)\\]:is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:p-0\\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:p-2\\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.room-platform-room .group-data-\\[collapsible\\=icon\\]\\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.room-platform-room .group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.group)[data-disabled=true] *),.room-platform-room .group-data-\\[disabled\\=true\\]\\/field\\:opacity-50:is(:where(.group\\/field)[data-disabled=true] *),.room-platform-room .group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.group\\/input-group)[data-disabled=true] *){opacity:.5}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:relative:is(:where(.group\\/day)[data-focused=true] *){position:relative}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:z-10:is(:where(.group\\/day)[data-focused=true] *){z-index:10}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:border-ring:is(:where(.group\\/day)[data-focused=true] *){border-color:var(--ring)}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-\\[3px\\]:is(:where(.group\\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50:is(:where(.group\\/day)[data-focused=true] *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50:is(:where(.group\\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.room-platform-room .group-data-\\[side\\=left\\]\\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.room-platform-room .group-data-\\[side\\=left\\]\\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.room-platform-room .group-data-\\[side\\=right\\]\\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.room-platform-room .group-data-\\[side\\=right\\]\\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.room-platform-room .group-data-\\[side\\=right\\]\\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .group-data-\\[size\\=sm\\]\\/alert-dialog-content\\:grid:is(:where(.group\\/alert-dialog-content)[data-size=sm] *){display:grid}.room-platform-room .group-data-\\[size\\=sm\\]\\/alert-dialog-content\\:grid-cols-2:is(:where(.group\\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:p-3:is(:where(.group\\/card)[data-size=sm] *){padding:calc(var(--spacing) * 3)}.room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:px-3:is(:where(.group\\/card)[data-size=sm] *){padding-inline:calc(var(--spacing) * 3)}.room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:text-sm:is(:where(.group\\/card)[data-size=sm] *){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *){border-radius:0}.room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *){padding-inline:calc(var(--spacing) * 2)}.room-platform-room .group-data-\\[variant\\=floating\\]\\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.room-platform-room .group-data-\\[variant\\=floating\\]\\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .group-data-\\[variant\\=floating\\]\\:ring-1:is(:where(.group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .group-data-\\[variant\\=floating\\]\\:ring-sidebar-border:is(:where(.group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent:is(:where(.group\\/tabs-list)[data-variant=line] *){background-color:#0000}.room-platform-room .group-data-\\[variant\\=outline\\]\\/field-group\\:-mb-2:is(:where(.group\\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.room-platform-room .group-data-horizontal\\/tabs\\:h-8:is(:where(.group\\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing) * 8)}.room-platform-room .group-data-vertical\\/tabs\\:h-fit:is(:where(.group\\/tabs):where([data-orientation=vertical]) *){height:fit-content}.room-platform-room .group-data-vertical\\/tabs\\:w-full:is(:where(.group\\/tabs):where([data-orientation=vertical]) *){width:100%}.room-platform-room .group-data-vertical\\/tabs\\:flex-col:is(:where(.group\\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.room-platform-room .group-data-vertical\\/tabs\\:justify-start:is(:where(.group\\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.room-platform-room .peer-hover\\/menu-button\\:text-sidebar-accent-foreground:is(:where(.peer\\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.room-platform-room .peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.room-platform-room .peer-disabled\\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.room-platform-room .peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5:is(:where(.peer\\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.room-platform-room .peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5:is(:where(.peer\\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.room-platform-room .peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1:is(:where(.peer\\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.room-platform-room .peer-data-active\\/menu-button\\:text-sidebar-accent-foreground:is(:is(:where(.peer\\/menu-button):where([data-state=active]),:where(.peer\\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.room-platform-room .file\\:inline-flex::file-selector-button{display:inline-flex}.room-platform-room .file\\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.room-platform-room .file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.room-platform-room .file\\:bg-transparent::file-selector-button{background-color:#0000}.room-platform-room .file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.room-platform-room .file\\:text-foreground::file-selector-button{color:var(--foreground)}.room-platform-room .placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.room-platform-room .after\\:absolute:after{content:var(--tw-content);position:absolute}.room-platform-room .after\\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.room-platform-room .after\\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -3)}.room-platform-room .after\\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -2)}.room-platform-room .after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.room-platform-room .after\\:start-1\\/2:after{content:var(--tw-content);inset-inline-start:50%}.room-platform-room .after\\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.room-platform-room .after\\:left-0:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.room-platform-room .after\\:w-4:after{content:var(--tw-content);width:calc(var(--spacing) * 4)}.room-platform-room .after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.room-platform-room .after\\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.room-platform-room .after\\:bg-muted:after{content:var(--tw-content);background-color:var(--muted)}.room-platform-room .after\\:opacity-0:after{content:var(--tw-content);opacity:0}.room-platform-room .after\\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.room-platform-room .group-data-horizontal\\/tabs\\:after\\:inset-x-0:is(:where(.group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.room-platform-room .group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\]:is(:where(.group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.room-platform-room .group-data-horizontal\\/tabs\\:after\\:h-0\\.5:is(:where(.group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.room-platform-room .group-data-vertical\\/tabs\\:after\\:inset-y-0:is(:where(.group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.room-platform-room .group-data-vertical\\/tabs\\:after\\:-right-1:is(:where(.group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.room-platform-room .group-data-vertical\\/tabs\\:after\\:w-0\\.5:is(:where(.group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.room-platform-room .last\\:mt-0:last-child{margin-top:calc(var(--spacing) * 0)}.room-platform-room .focus-within\\:border-ring:focus-within{border-color:var(--ring)}.room-platform-room .focus-within\\:ring-3:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .focus-within\\:ring-ring\\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .focus-within\\:ring-ring\\/50:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}@media (hover:hover){.room-platform-room .hover\\:border-slate-300:hover{border-color:var(--color-slate-300)}.room-platform-room .hover\\:border-slate-400:hover{border-color:var(--color-slate-400)}.room-platform-room .hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .hover\\:bg-liveclass-orange\\/90:hover{background-color:#eb6619e6}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-liveclass-orange\\/90:hover{background-color:color-mix(in oklab, var(--color-liveclass-orange) 90%, transparent)}}.room-platform-room .hover\\:bg-muted:hover,.room-platform-room .hover\\:bg-muted\\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.room-platform-room .hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.room-platform-room .hover\\:bg-red-500\\/15:hover{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-red-500\\/15:hover{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.room-platform-room .hover\\:bg-red-700:hover{background-color:var(--color-red-700)}.room-platform-room .hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.room-platform-room .hover\\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.room-platform-room .hover\\:bg-slate-100:hover{background-color:var(--color-slate-100)}.room-platform-room .hover\\:bg-slate-900:hover{background-color:var(--color-slate-900)}.room-platform-room .hover\\:bg-transparent:hover{background-color:#0000}.room-platform-room .hover\\:bg-white:hover{background-color:var(--color-white)}.room-platform-room .hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.room-platform-room .hover\\:bg-white\\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.room-platform-room .hover\\:bg-white\\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.room-platform-room .hover\\:text-foreground:hover{color:var(--foreground)}.room-platform-room .hover\\:text-muted-foreground:hover{color:var(--muted-foreground)}.room-platform-room .hover\\:text-red-600:hover{color:var(--color-red-600)}.room-platform-room .hover\\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.room-platform-room .hover\\:text-white:hover{color:var(--color-white)}.room-platform-room .hover\\:underline:hover{text-decoration-line:underline}.room-platform-room .hover\\:opacity-100:hover{opacity:1}.room-platform-room .hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .hover\\:group-data-\\[collapsible\\=offcanvas\\]\\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.room-platform-room .hover\\:after\\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.room-platform-room .focus\\:z-10:focus{z-index:10}.room-platform-room .focus\\:bg-accent:focus{background-color:var(--accent)}.room-platform-room .focus\\:text-accent-foreground:focus,.room-platform-room :is(.focus\\:\\*\\*\\:text-accent-foreground:focus *),.room-platform-room :is(.not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.room-platform-room .focus-visible\\:z-10:focus-visible{z-index:10}.room-platform-room .focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .focus-visible\\:border-red-300:focus-visible{border-color:var(--color-red-300)}.room-platform-room .focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.room-platform-room .focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .focus-visible\\:ring-3:focus-visible,.room-platform-room .focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .focus-visible\\:ring-red-200:focus-visible{--tw-ring-color:var(--color-red-200)}.room-platform-room .focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.room-platform-room .focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.room-platform-room .focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.room-platform-room :is(.\\*\\:focus-visible\\:relative>*):focus-visible{position:relative}.room-platform-room :is(.\\*\\:focus-visible\\:z-10>*):focus-visible{z-index:10}.room-platform-room .active\\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.room-platform-room .active\\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.room-platform-room .active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .disabled\\:pointer-events-none:disabled{pointer-events:none}.room-platform-room .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.room-platform-room .disabled\\:border-white\\/35:disabled{border-color:#ffffff59}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:border-white\\/35:disabled{border-color:color-mix(in oklab, var(--color-white) 35%, transparent)}}.room-platform-room .disabled\\:bg-input\\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:bg-input\\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.room-platform-room .disabled\\:bg-red-600\\/70:disabled{background-color:#e40014b3}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:bg-red-600\\/70:disabled{background-color:color-mix(in oklab, var(--color-red-600) 70%, transparent)}}.room-platform-room .disabled\\:bg-transparent:disabled{background-color:#0000}.room-platform-room .disabled\\:bg-white\\/5:disabled{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:bg-white\\/5:disabled{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.room-platform-room .disabled\\:text-white:disabled{color:var(--color-white)}.room-platform-room .disabled\\:text-white\\/65:disabled{color:#ffffffa6}@supports (color:color-mix(in lab, red, red)){.room-platform-room .disabled\\:text-white\\/65:disabled{color:color-mix(in oklab, var(--color-white) 65%, transparent)}}.room-platform-room .disabled\\:opacity-50:disabled{opacity:.5}.room-platform-room :where([data-side=left]) .in-data-\\[side\\=left\\]\\:cursor-w-resize{cursor:w-resize}.room-platform-room :where([data-side=right]) .in-data-\\[side\\=right\\]\\:cursor-e-resize{cursor:e-resize}.room-platform-room :where([data-slot=button-group]) .in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}.room-platform-room :where([data-slot=card-content]) .in-data-\\[slot\\=card-content\\]\\:bg-transparent{background-color:#0000}.room-platform-room :where([data-slot=combobox-content]) .in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit:focus-within{border-color:inherit}.room-platform-room :where([data-slot=combobox-content]) .in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room :where([data-slot=popover-content]) .in-data-\\[slot\\=popover-content\\]\\:bg-transparent{background-color:#0000}.room-platform-room .has-disabled\\:pointer-events-none:has(:disabled){pointer-events:none}.room-platform-room .has-disabled\\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.room-platform-room .has-disabled\\:bg-input\\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-disabled\\:bg-input\\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.room-platform-room .has-disabled\\:opacity-50:has(:disabled){opacity:.5}.room-platform-room .has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.room-platform-room .has-aria-invalid\\:border-destructive:has([aria-invalid=true]){border-color:var(--destructive)}.room-platform-room .has-aria-invalid\\:ring-3:has([aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .has-aria-invalid\\:ring-destructive\\/20:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-aria-invalid\\:ring-destructive\\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-1:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1)}.room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-3:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 3)}.room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *):has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-1:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1)}.room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-3:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 3)}.room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *):has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.room-platform-room .has-data-\\[slot\\=alert-action\\]\\:relative:has([data-slot=alert-action]){position:relative}.room-platform-room .has-data-\\[slot\\=alert-action\\]\\:pr-18:has([data-slot=alert-action]){padding-right:calc(var(--spacing) * 18)}.room-platform-room .has-data-\\[slot\\=alert-dialog-media\\]\\:grid-rows-\\[auto_auto_1fr\\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.room-platform-room .has-data-\\[slot\\=alert-dialog-media\\]\\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 4)}.room-platform-room .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.room-platform-room .has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\]:has([data-slot=card-description]){grid-template-rows:auto auto}.room-platform-room .has-data-\\[slot\\=card-footer\\]\\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing) * 0)}.room-platform-room .has-data-\\[slot\\=combobox-chip\\]\\:px-1:has([data-slot=combobox-chip]){padding-inline:calc(var(--spacing) * 1)}.room-platform-room .has-data-\\[slot\\=combobox-chip-remove\\]\\:pr-0:has([data-slot=combobox-chip-remove]){padding-right:calc(var(--spacing) * 0)}.room-platform-room .has-data-\\[variant\\=inset\\]\\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.room-platform-room .has-data-checked\\:border-primary\\/30:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-data-checked\\:border-primary\\/30:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.room-platform-room .has-data-checked\\:bg-primary\\/5:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-data-checked\\:bg-primary\\/5:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.room-platform-room .has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}.room-platform-room .has-\\[\\>\\[data-slot\\=checkbox-group\\]\\]\\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:w-full:has(>[data-slot=field]){width:100%}.room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:flex-col:has(>[data-slot=field]){flex-direction:column}.room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:rounded-lg:has(>[data-slot=field]){border-radius:var(--radius)}.room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.room-platform-room .has-\\[\\>\\[data-slot\\=radio-group\\]\\]\\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.room-platform-room .has-\\[\\>button\\]\\:mr-\\[-0\\.3rem\\]:has(>button){margin-right:-.3rem}.room-platform-room .has-\\[\\>button\\]\\:ml-\\[-0\\.3rem\\]:has(>button){margin-left:-.3rem}.room-platform-room .has-\\[\\>img\\:first-child\\]\\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing) * 0)}.room-platform-room .has-\\[\\>kbd\\]\\:mr-\\[-0\\.15rem\\]:has(>kbd){margin-right:-.15rem}.room-platform-room .has-\\[\\>kbd\\]\\:ml-\\[-0\\.15rem\\]:has(>kbd){margin-left:-.15rem}.room-platform-room .has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\]:has(>svg){grid-template-columns:auto 1fr}.room-platform-room .has-\\[\\>svg\\]\\:gap-x-2:has(>svg){column-gap:calc(var(--spacing) * 2)}.room-platform-room .has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(var(--spacing) * 0)}.room-platform-room .has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.room-platform-room .aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.room-platform-room .aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.room-platform-room .aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.room-platform-room .aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.room-platform-room .aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.room-platform-room .aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.room-platform-room .aria-expanded\\:opacity-100[aria-expanded=true]{opacity:1}.room-platform-room .aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.room-platform-room .aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .aria-invalid\\:aria-checked\\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--primary)}.room-platform-room .aria-pressed\\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.room-platform-room .aria-selected\\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.room-platform-room .data-empty\\:p-0[data-empty]{padding:calc(var(--spacing) * 0)}.room-platform-room .data-highlighted\\:bg-accent[data-highlighted]{background-color:var(--accent)}.room-platform-room .data-highlighted\\:text-accent-foreground[data-highlighted],.room-platform-room :is(.not-data-\\[variant\\=destructive\\]\\:data-highlighted\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive])[data-highlighted] *){color:var(--accent-foreground)}.room-platform-room .data-inset\\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.room-platform-room .data-placeholder\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.room-platform-room .data-pressed\\:bg-transparent[data-pressed]{background-color:#0000}.room-platform-room .data-\\[align-trigger\\=true\\]\\:animate-none[data-align-trigger=true]{animation:none}.room-platform-room .data-\\[chips\\=true\\]\\:min-w-\\(--anchor-width\\)[data-chips=true]{min-width:var(--anchor-width)}.room-platform-room .data-\\[invalid\\=true\\]\\:text-destructive[data-invalid=true]{color:var(--destructive)}.room-platform-room .data-\\[lk-enabled\\=true\\]\\:border-white[data-lk-enabled=true]{border-color:var(--color-white)}.room-platform-room .data-\\[lk-enabled\\=true\\]\\:bg-white[data-lk-enabled=true]{background-color:var(--color-white)}.room-platform-room .data-\\[lk-enabled\\=true\\]\\:text-slate-950[data-lk-enabled=true]{color:var(--color-slate-950)}@media (hover:hover){.room-platform-room .data-\\[lk-enabled\\=true\\]\\:hover\\:bg-white[data-lk-enabled=true]:hover{background-color:var(--color-white)}}.room-platform-room .data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\)[data-position=popper]{height:var(--radix-select-trigger-height)}.room-platform-room .data-\\[position\\=popper\\]\\:w-full[data-position=popper]{width:100%}.room-platform-room .data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.room-platform-room .data-\\[range-end\\=true\\]\\:rounded-\\(--cell-radius\\)[data-range-end=true]{border-radius:var(--cell-radius)}.room-platform-room .data-\\[range-end\\=true\\]\\:rounded-r-\\(--cell-radius\\)[data-range-end=true]{border-top-right-radius:var(--cell-radius);border-bottom-right-radius:var(--cell-radius)}.room-platform-room .data-\\[range-end\\=true\\]\\:bg-primary[data-range-end=true]{background-color:var(--primary)}.room-platform-room .data-\\[range-end\\=true\\]\\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}.room-platform-room .data-\\[range-middle\\=true\\]\\:rounded-none[data-range-middle=true]{border-radius:0}.room-platform-room .data-\\[range-middle\\=true\\]\\:bg-muted[data-range-middle=true]{background-color:var(--muted)}.room-platform-room .data-\\[range-middle\\=true\\]\\:text-foreground[data-range-middle=true]{color:var(--foreground)}.room-platform-room .data-\\[range-start\\=true\\]\\:rounded-\\(--cell-radius\\)[data-range-start=true]{border-radius:var(--cell-radius)}.room-platform-room .data-\\[range-start\\=true\\]\\:rounded-l-\\(--cell-radius\\)[data-range-start=true]{border-top-left-radius:var(--cell-radius);border-bottom-left-radius:var(--cell-radius)}.room-platform-room .data-\\[range-start\\=true\\]\\:bg-primary[data-range-start=true]{background-color:var(--primary)}.room-platform-room .data-\\[range-start\\=true\\]\\:text-primary-foreground[data-range-start=true]{color:var(--primary-foreground)}.room-platform-room .data-\\[selected-single\\=true\\]\\:bg-primary[data-selected-single=true]{background-color:var(--primary)}.room-platform-room .data-\\[selected-single\\=true\\]\\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}.room-platform-room .data-\\[selected\\=true\\]\\:rounded-none[data-selected=true]{border-radius:0}.room-platform-room .data-\\[side\\=bottom\\]\\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=bottom\\]\\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=bottom\\]\\:h-auto[data-side=bottom]{height:auto}.room-platform-room .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .data-\\[side\\=bottom\\]\\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.room-platform-room .data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.room-platform-room .data-\\[side\\=inline-end\\]\\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.room-platform-room .data-\\[side\\=inline-start\\]\\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:calc(2*var(--spacing))}.room-platform-room .data-\\[side\\=left\\]\\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=left\\]\\:left-0[data-side=left]{left:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=left\\]\\:h-full[data-side=left]{height:100%}.room-platform-room .data-\\[side\\=left\\]\\:w-3\\/4[data-side=left]{width:75%}.room-platform-room .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .data-\\[side\\=left\\]\\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.room-platform-room .data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.room-platform-room .data-\\[side\\=left\\]\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\][data-side=left]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.room-platform-room .data-\\[side\\=right\\]\\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=right\\]\\:right-0[data-side=right]{right:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=right\\]\\:h-full[data-side=right]{height:100%}.room-platform-room .data-\\[side\\=right\\]\\:w-3\\/4[data-side=right]{width:75%}.room-platform-room .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .data-\\[side\\=right\\]\\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.room-platform-room .data-\\[side\\=right\\]\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\][data-side=right]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.room-platform-room .data-\\[side\\=top\\]\\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=top\\]\\:top-0[data-side=top]{top:calc(var(--spacing) * 0)}.room-platform-room .data-\\[side\\=top\\]\\:h-auto[data-side=top]{height:auto}.room-platform-room .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .data-\\[side\\=top\\]\\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.room-platform-room .data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.room-platform-room .data-\\[size\\=default\\]\\:h-8[data-size=default]{height:calc(var(--spacing) * 8)}.room-platform-room .data-\\[size\\=default\\]\\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.room-platform-room .data-\\[size\\=md\\]\\:text-sm[data-size=md]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .data-\\[size\\=sm\\]\\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.room-platform-room .data-\\[size\\=sm\\]\\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.room-platform-room .data-\\[size\\=sm\\]\\:gap-3[data-size=sm]{gap:calc(var(--spacing) * 3)}.room-platform-room .data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}.room-platform-room .data-\\[size\\=sm\\]\\:py-3[data-size=sm]{padding-block:calc(var(--spacing) * 3)}.room-platform-room .data-\\[size\\=sm\\]\\:text-xs[data-size=sm]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.room-platform-room .data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing) * 0)}.room-platform-room :is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room :is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.room-platform-room .data-\\[slot\\=checkbox-group\\]\\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}.room-platform-room :is(.\\*\\:data-\\[slot\\=field\\]\\:p-2\\.5>*)[data-slot=field]{padding:calc(var(--spacing) * 2.5)}.room-platform-room :is(.\\*\\:data-\\[slot\\=field-group\\]\\:gap-4>*)[data-slot=field-group]{gap:calc(var(--spacing) * 4)}.room-platform-room :is(.\\*\\:data-\\[slot\\=field-label\\]\\:flex-auto>*)[data-slot=field-label]{flex:auto}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:m-1>*)[data-slot=input-group]{margin:calc(var(--spacing) * 1)}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:mb-0>*)[data-slot=input-group]{margin-bottom:calc(var(--spacing) * 0)}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:h-8>*)[data-slot=input-group]{height:calc(var(--spacing) * 8)}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:border-input\\/30>*)[data-slot=input-group]{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:border-input\\/30>*)[data-slot=input-group]{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:bg-input\\/30>*)[data-slot=input-group]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:bg-input\\/30>*)[data-slot=input-group]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.room-platform-room :is(.\\*\\:data-\\[slot\\=input-group\\]\\:shadow-none>*)[data-slot=input-group]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.room-platform-room :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}.room-platform-room :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}.room-platform-room :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-l-lg:is(:where(.group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing=\"0\"]:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg:is(:where(.group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing=\"0\"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-r-lg:is(:where(.group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing=\"0\"]:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg:is(:where(.group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing=\"0\"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.room-platform-room .data-\\[state\\=closed\\]\\:overflow-hidden[data-state=closed]{overflow:hidden}.room-platform-room .data-\\[state\\=on\\]\\:bg-muted[data-state=on],.room-platform-room .data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:var(--muted)}.room-platform-room .data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}.room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.room-platform-room .data-\\[variant\\=label\\]\\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .data-\\[variant\\=legend\\]\\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.room-platform-room .data-\\[variant\\=line\\]\\:rounded-none[data-variant=line]{border-radius:0}.room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-l-0:is(:where(.group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing=\"0\"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0:is(:where(.group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing=\"0\"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-l:is(:where(.group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing=\"0\"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t:is(:where(.group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing=\"0\"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.room-platform-room .nth-last-2\\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.room-platform-room .supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.room-platform-room .sm\\:flex{display:flex}.room-platform-room .sm\\:max-w-2xl{max-width:var(--container-2xl)}.room-platform-room .sm\\:max-w-none{max-width:none}.room-platform-room .sm\\:max-w-sm{max-width:var(--container-sm)}.room-platform-room .sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.room-platform-room .sm\\:flex-row{flex-direction:row}.room-platform-room .sm\\:justify-end{justify-content:flex-end}.room-platform-room .sm\\:p-4{padding:calc(var(--spacing) * 4)}.room-platform-room .sm\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:row-span-2:is(:where(.group\\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:place-items-start:is(:where(.group\\/alert-dialog-content)[data-size=default] *){place-items:start}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:text-left:is(:where(.group\\/alert-dialog-content)[data-size=default] *){text-align:left}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:group-has-data-\\[slot\\=alert-dialog-media\\]\\/alert-dialog-content\\:col-start-2:is(:where(.group\\/alert-dialog-content)[data-size=default] *):is(:where(.group\\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:has-data-\\[slot\\=alert-dialog-media\\]\\:grid-rows-\\[auto_1fr\\]:is(:where(.group\\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.room-platform-room .data-\\[side\\=left\\]\\:sm\\:max-w-sm[data-side=left],.room-platform-room .data-\\[side\\=right\\]\\:sm\\:max-w-sm[data-side=right],.room-platform-room .data-\\[size\\=default\\]\\:sm\\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media (min-width:48rem){.room-platform-room .md\\:block{display:block}.room-platform-room .md\\:flex{display:flex}.room-platform-room .md\\:inline-flex{display:inline-flex}.room-platform-room .md\\:max-w-\\[300px\\]{max-width:300px}.room-platform-room .md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(260px\\,300px\\)\\]{grid-template-columns:minmax(0,1fr) minmax(260px,300px)}.room-platform-room .md\\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.room-platform-room .md\\:flex-row{flex-direction:row}.room-platform-room .md\\:justify-self-end{justify-self:flex-end}.room-platform-room .md\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.room-platform-room .md\\:border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.room-platform-room .md\\:border-white\\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.room-platform-room .md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.room-platform-room .md\\:text-pretty{text-wrap:pretty}.room-platform-room .md\\:opacity-0{opacity:0}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.room-platform-room .md\\:after\\:hidden:after{content:var(--tw-content);display:none}}@container field-group (min-width:28rem){.room-platform-room .\\@md\\/field-group\\:flex-row{flex-direction:row}.room-platform-room .\\@md\\/field-group\\:items-center{align-items:center}.room-platform-room :is(.\\@md\\/field-group\\:\\*\\:w-auto>*){width:auto}.room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.room-platform-room :is(.\\@md\\/field-group\\:\\*\\:data-\\[slot\\=field-label\\]\\:flex-auto>*)[data-slot=field-label]{flex:auto}}.room-platform-room .ltr\\:-translate-x-1\\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *),.room-platform-room .rtl\\:-translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room .dark\\:border-input:is(.dark *){border-color:var(--input)}.room-platform-room .dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.room-platform-room .dark\\:bg-transparent:is(.dark *){background-color:#0000}.room-platform-room .dark\\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.room-platform-room .dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.room-platform-room .dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.room-platform-room .dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.room-platform-room .dark\\:hover\\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.room-platform-room .dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.room-platform-room .dark\\:disabled\\:bg-transparent:is(.dark *):disabled{background-color:#0000}.room-platform-room .dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.room-platform-room .dark\\:has-aria-invalid\\:border-destructive\\/50:is(.dark *):has([aria-invalid=true]){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-aria-invalid\\:border-destructive\\/50:is(.dark *):has([aria-invalid=true]){border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.room-platform-room .dark\\:has-aria-invalid\\:ring-destructive\\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-aria-invalid\\:ring-destructive\\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .dark\\:has-data-checked\\:border-primary\\/20:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-data-checked\\:border-primary\\/20:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.room-platform-room .dark\\:has-data-checked\\:bg-primary\\/10:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-data-checked\\:bg-primary\\/10:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.room-platform-room .dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.room-platform-room .dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.room-platform-room .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .data-open\\:animate-in:where([data-state=open]),.room-platform-room .data-open\\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.room-platform-room .data-open\\:bg-accent:where([data-state=open]),.room-platform-room .data-open\\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.room-platform-room .data-open\\:text-accent-foreground:where([data-state=open]),.room-platform-room .data-open\\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.room-platform-room .data-open\\:fade-in-0:where([data-state=open]),.room-platform-room .data-open\\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.room-platform-room .data-open\\:zoom-in-95:where([data-state=open]),.room-platform-room .data-open\\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){.room-platform-room :is(.data-open\\:hover\\:bg-sidebar-accent:where([data-state=open]),.data-open\\:hover\\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}.room-platform-room :is(.data-open\\:hover\\:text-sidebar-accent-foreground:where([data-state=open]),.data-open\\:hover\\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.room-platform-room .data-\\[side\\=bottom\\]\\:data-open\\:slide-in-from-bottom-10[data-side=bottom]:where([data-state=open]),.room-platform-room .data-\\[side\\=bottom\\]\\:data-open\\:slide-in-from-bottom-10[data-side=bottom]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*100%)}.room-platform-room .data-\\[side\\=left\\]\\:data-open\\:slide-in-from-left-10[data-side=left]:where([data-state=open]),.room-platform-room .data-\\[side\\=left\\]\\:data-open\\:slide-in-from-left-10[data-side=left]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*-100%)}.room-platform-room .data-\\[side\\=right\\]\\:data-open\\:slide-in-from-right-10[data-side=right]:where([data-state=open]),.room-platform-room .data-\\[side\\=right\\]\\:data-open\\:slide-in-from-right-10[data-side=right]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*100%)}.room-platform-room .data-\\[side\\=top\\]\\:data-open\\:slide-in-from-top-10[data-side=top]:where([data-state=open]),.room-platform-room .data-\\[side\\=top\\]\\:data-open\\:slide-in-from-top-10[data-side=top]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*-100%)}.room-platform-room .data-closed\\:animate-out:where([data-state=closed]),.room-platform-room .data-closed\\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.room-platform-room .data-closed\\:fade-out-0:where([data-state=closed]),.room-platform-room .data-closed\\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.room-platform-room .data-closed\\:zoom-out-95:where([data-state=closed]),.room-platform-room .data-closed\\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.room-platform-room .data-\\[side\\=bottom\\]\\:data-closed\\:slide-out-to-bottom-10[data-side=bottom]:where([data-state=closed]),.room-platform-room .data-\\[side\\=bottom\\]\\:data-closed\\:slide-out-to-bottom-10[data-side=bottom]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*100%)}.room-platform-room .data-\\[side\\=left\\]\\:data-closed\\:slide-out-to-left-10[data-side=left]:where([data-state=closed]),.room-platform-room .data-\\[side\\=left\\]\\:data-closed\\:slide-out-to-left-10[data-side=left]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*-100%)}.room-platform-room .data-\\[side\\=right\\]\\:data-closed\\:slide-out-to-right-10[data-side=right]:where([data-state=closed]),.room-platform-room .data-\\[side\\=right\\]\\:data-closed\\:slide-out-to-right-10[data-side=right]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*100%)}.room-platform-room .data-\\[side\\=top\\]\\:data-closed\\:slide-out-to-top-10[data-side=top]:where([data-state=closed]),.room-platform-room .data-\\[side\\=top\\]\\:data-closed\\:slide-out-to-top-10[data-side=top]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*-100%)}.room-platform-room .data-checked\\:border-primary:where([data-state=checked]),.room-platform-room .data-checked\\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.room-platform-room .data-checked\\:bg-primary:where([data-state=checked]),.room-platform-room .data-checked\\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.room-platform-room .data-checked\\:text-primary-foreground:where([data-state=checked]),.room-platform-room .data-checked\\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}.room-platform-room .dark\\:data-checked\\:bg-primary:is(.dark *):where([data-state=checked]),.room-platform-room .dark\\:data-checked\\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.room-platform-room .data-disabled\\:pointer-events-none:where([data-disabled=true]),.room-platform-room .data-disabled\\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.room-platform-room .data-disabled\\:opacity-50:where([data-disabled=true]),.room-platform-room .data-disabled\\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.room-platform-room .data-active\\:bg-background:where([data-state=active]),.room-platform-room .data-active\\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.room-platform-room .data-active\\:bg-sidebar-accent:where([data-state=active]),.room-platform-room .data-active\\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.room-platform-room .data-active\\:font-medium:where([data-state=active]),.room-platform-room .data-active\\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.room-platform-room .data-active\\:text-foreground:where([data-state=active]),.room-platform-room .data-active\\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.room-platform-room .data-active\\:text-sidebar-accent-foreground:where([data-state=active]),.room-platform-room .data-active\\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.room-platform-room .group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.group\\/tabs-list)[data-variant=default] *):where([data-state=active]),.room-platform-room .group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.group\\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.room-platform-room :is(.group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.room-platform-room .dark\\:data-active\\:border-input:is(.dark *):where([data-state=active]),.room-platform-room .dark\\:data-active\\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.room-platform-room .dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.room-platform-room .dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.room-platform-room .dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.room-platform-room .dark\\:data-active\\:text-foreground:is(.dark *):where([data-state=active]),.room-platform-room .dark\\:data-active\\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.room-platform-room .data-horizontal\\:mx-px:where([data-orientation=horizontal]){margin-inline:1px}.room-platform-room .data-horizontal\\:h-px:where([data-orientation=horizontal]){height:1px}.room-platform-room .data-horizontal\\:w-auto:where([data-orientation=horizontal]){width:auto}.room-platform-room .data-horizontal\\:w-full:where([data-orientation=horizontal]){width:100%}.room-platform-room .data-horizontal\\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.room-platform-room .data-vertical\\:my-px:where([data-orientation=vertical]){margin-block:1px}.room-platform-room .data-vertical\\:h-auto:where([data-orientation=vertical]){height:auto}.room-platform-room .data-vertical\\:w-px:where([data-orientation=vertical]){width:1px}.room-platform-room .data-vertical\\:flex-col:where([data-orientation=vertical]){flex-direction:column}.room-platform-room .data-vertical\\:items-stretch:where([data-orientation=vertical]){align-items:stretch}.room-platform-room .data-vertical\\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.room-platform-room .\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.room-platform-room .\\[\\&_a\\]\\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.room-platform-room .\\[\\&_a\\]\\:hover\\:text-foreground a:hover{color:var(--foreground)}}.room-platform-room .\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 p:not(:last-child){margin-bottom:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.room-platform-room .\\[\\&_svg\\]\\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&_tr\\]\\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.room-platform-room .\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.room-platform-room .\\[\\&\\:first-child\\[data-selected\\=true\\]_button\\]\\:rounded-l-\\(--cell-radius\\):first-child[data-selected=true] button{border-top-left-radius:var(--cell-radius);border-bottom-left-radius:var(--cell-radius)}.room-platform-room .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.room-platform-room .\\[\\.border-b\\]\\:pb-2.border-b{padding-bottom:calc(var(--spacing) * 2)}.room-platform-room .\\[\\.border-b\\]\\:pb-4.border-b{padding-bottom:calc(var(--spacing) * 4)}.room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3:is(:where(.group\\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing) * 3)}.room-platform-room .\\[\\.border-t\\]\\:pt-2.border-t{padding-top:calc(var(--spacing) * 2)}.room-platform-room :is(.rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_next\\>svg\\]\\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),.room-platform-room :is(.rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_previous\\>svg\\]\\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.room-platform-room :is(.\\*\\:\\[a\\]\\:underline>*):is(a){text-decoration-line:underline}.room-platform-room :is(.\\*\\:\\[a\\]\\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.room-platform-room .\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.room-platform-room .\\[a\\]\\:hover\\:bg-muted:is(a):hover{background-color:var(--muted)}.room-platform-room .\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.room-platform-room .\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.room-platform-room .\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.room-platform-room .\\[a\\]\\:hover\\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}.room-platform-room :is(.\\*\\:\\[a\\]\\:hover\\:text-foreground>*):is(a):hover{color:var(--foreground)}}.room-platform-room :is(.\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.room-platform-room :is(.\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.room-platform-room :is(.\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}.room-platform-room :is(.\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}.room-platform-room :is(.\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}.room-platform-room :is(.\\*\\:\\[svg\\]\\:row-span-2>*):is(svg){grid-row:span 2/span 2}.room-platform-room :is(.\\*\\:\\[svg\\]\\:translate-y-0\\.5>*):is(svg){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.room-platform-room :is(.\\*\\:\\[svg\\]\\:text-current>*):is(svg){color:currentColor}.room-platform-room :is(.data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}.room-platform-room :is(.\\*\\:\\[svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room :is(.\\*\\:\\[svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-6>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.room-platform-room .\\[\\&\\:last-child\\[data-selected\\=true\\]_button\\]\\:rounded-r-\\(--cell-radius\\):last-child[data-selected=true] button{border-top-right-radius:var(--cell-radius);border-bottom-right-radius:var(--cell-radius)}.room-platform-room .\\[\\&\\:nth-child\\(2\\)\\[data-selected\\=true\\]_button\\]\\:rounded-l-\\(--cell-radius\\):nth-child(2)[data-selected=true] button{border-top-left-radius:var(--cell-radius);border-bottom-left-radius:var(--cell-radius)}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.room-platform-room .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.room-platform-room .\\[\\&\\>\\.sr-only\\]\\:w-auto>.sr-only{width:auto}.room-platform-room .has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-r-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.room-platform-room .\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=\\'w-\\'\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.room-platform-room .\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-r-lg\\!>[data-slot]:not(:has(~[data-slot])){border-top-right-radius:var(--radius)!important;border-bottom-right-radius:var(--radius)!important}.room-platform-room .\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\!>[data-slot]:not(:has(~[data-slot])){border-bottom-right-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}@container field-group (min-width:28rem){.room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}}.room-platform-room .\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.room-platform-room .\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.room-platform-room .\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--primary)}.room-platform-room .\\[\\&\\>button\\]\\:hidden>button{display:none}.room-platform-room .\\[\\&\\>input\\]\\:flex-1>input{flex:1}.room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.room-platform-room .has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pr-1\\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 1.5)}.room-platform-room .has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:pl-1\\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 1.5)}.room-platform-room .\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.room-platform-room .\\[\\&\\>span\\]\\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.room-platform-room .\\[\\&\\>span\\]\\:opacity-70>span{opacity:.7}.room-platform-room .\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-platform-room .\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.room-platform-room .\\[\\&\\>svg\\]\\:size-3\\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}.room-platform-room .\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.room-platform-room .\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.room-platform-room .\\[\\&\\>svg\\]\\:text-muted-foreground>svg{color:var(--muted-foreground)}.room-platform-room .\\[\\&\\>svg\\]\\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.room-platform-room .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.room-platform-room .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-platform-room .\\[\\&\\>tr\\]\\:last\\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.room-platform-room [data-side=left][data-collapsible=offcanvas] .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2{right:calc(var(--spacing) * -2)}.room-platform-room [data-side=left][data-state=collapsed] .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}.room-platform-room [data-side=right][data-collapsible=offcanvas] .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2{left:calc(var(--spacing) * -2)}.room-platform-room [data-side=right][data-state=collapsed] .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}.room-platform-room [data-variant=legend]+.\\[\\[data-variant\\=legend\\]\\+\\&\\]\\:-mt-1\\.5{margin-top:calc(var(--spacing) * -1.5)}@property --tw-animation-delay{syntax:\"*\";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:\"*\";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:\"*\";inherits:false}@property --tw-animation-fill-mode{syntax:\"*\";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:\"*\";inherits:false;initial-value:0}.room-platform-room{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.room-platform-room .dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.room-platform-room .navi-chat__panel{border:1px solid var(--navi-chat-color-border,#d8e0ea);border-radius:var(--navi-chat-radius,10px);background:var(--navi-chat-color-surface,#fff);width:100%;height:100%;min-height:0;color:var(--navi-chat-color-text,#111827);font-family:var(--navi-chat-font-family,Inter, ui-sans-serif, system-ui, sans-serif);flex-direction:column;display:flex;overflow:hidden}.room-platform-room .navi-chat__header{border-bottom:1px solid var(--navi-chat-color-border,#d8e0ea);background:#f8fafc;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.room-platform-room .navi-chat__header-main{min-width:0}.room-platform-room .navi-chat__title{color:var(--navi-chat-color-text,#111827);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:700;line-height:1.25;display:inline-flex;overflow:hidden}.room-platform-room .navi-chat__online-count{min-width:20px;height:20px;color:var(--navi-chat-color-primary,#2563eb);background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.room-platform-room .navi-chat__header-meta{flex:none;align-items:center;gap:8px;display:flex}.room-platform-room .navi-chat__role-badge{color:var(--navi-chat-color-primary,#2563eb);background:#eff6ff;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1}.room-platform-room .navi-chat__rooms{border-bottom:1px solid var(--navi-chat-color-border,#d8e0ea);flex:none;gap:6px;padding:10px;display:flex;overflow-x:auto}.room-platform-room .navi-chat__room-tab,.room-platform-room .navi-chat__send-button,.room-platform-room .navi-chat__message-action,.room-platform-room .navi-chat__message-menu-trigger,.room-platform-room .navi-chat__message-menu-item,.room-platform-room .navi-chat__message-edit-button,.room-platform-room .navi-chat__message-edit-input{font:inherit}.room-platform-room .navi-chat__room-tab{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:8px;align-items:center;gap:6px;min-width:0;max-width:160px;padding:7px 10px;display:inline-flex}.room-platform-room .navi-chat__room-tab--active{background:var(--navi-chat-color-primary,#2563eb);color:#fff}.room-platform-room .navi-chat__room-tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.room-platform-room .navi-chat__unread-badge{min-width:18px;height:18px;color:var(--navi-chat-color-primary,#2563eb);background:#eff6ff;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.room-platform-room .navi-chat__room-tab--active .navi-chat__unread-badge{color:#fff;background:#ffffff2e}.room-platform-room .navi-chat__messages{background:#fbfdff;flex-direction:column;flex:auto;min-height:0;padding:14px;display:flex;overflow-y:auto}.room-platform-room .navi-chat__messages-stack{flex-direction:column;gap:10px;margin-top:auto;display:flex}.room-platform-room .navi-chat__empty{color:#64748b;text-align:center;background:#fbfdff;flex-direction:column;flex:auto;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex}.room-platform-room .navi-chat__empty strong{color:#334155;margin-top:8px;font-size:14px}.room-platform-room .navi-chat__empty span{margin-top:4px;font-size:13px}.room-platform-room .navi-chat__empty-icon{color:var(--navi-chat-color-primary,#2563eb);font-size:22px;line-height:1}.room-platform-room .navi-chat__message{display:flex}.room-platform-room .navi-chat__message-group{flex-direction:column;gap:4px;display:flex}.room-platform-room .navi-chat__loading-older{color:#64748b;align-self:center;padding:4px 0;font-size:12px;font-weight:600}.room-platform-room .navi-chat__message--own{justify-content:flex-end}.room-platform-room .navi-chat__message-row{align-items:flex-end;gap:6px;min-width:0;max-width:min(82%,560px);display:flex;position:relative}.room-platform-room .navi-chat__message-row--own{flex-direction:row-reverse}.room-platform-room .navi-chat__message-bubble{border:1px solid var(--navi-chat-color-border,#d8e0ea);background:#fff;border-radius:10px;min-width:0;max-width:100%;padding:9px 11px;box-shadow:0 1px 2px #0f172a0a}.room-platform-room .navi-chat__message--grouped .navi-chat__message-bubble{padding-top:8px}.room-platform-room .navi-chat__message--own .navi-chat__message-bubble{border-color:var(--navi-chat-own-message-border,#bfdbfe);background:var(--navi-chat-own-message-background,#eff6ff)}.room-platform-room .navi-chat__message--deleted .navi-chat__message-bubble{color:#64748b;background:#f8fafc;font-style:italic}.room-platform-room .navi-chat__message-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.room-platform-room .navi-chat__message-author{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.room-platform-room .navi-chat__message-time{color:#94a3b8;white-space:nowrap;font-size:11px}.room-platform-room .navi-chat__message-text{color:var(--navi-chat-color-text,#111827);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.45}.room-platform-room .navi-chat__message-action{color:var(--navi-chat-color-primary,#2563eb);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:12px;font-weight:600}.room-platform-room .navi-chat__message-menu{z-index:3;opacity:0;pointer-events:none;vertical-align:middle;flex:none;transition:opacity .12s,transform .12s;display:inline-flex;position:absolute;bottom:2px;right:-30px;transform:translateY(2px)}.room-platform-room .navi-chat__message-row--own .navi-chat__message-menu{left:-30px;right:auto}.room-platform-room .navi-chat__message:hover .navi-chat__message-menu,.room-platform-room .navi-chat__message:focus-within .navi-chat__message-menu,.room-platform-room .navi-chat__message-menu--open{opacity:1;pointer-events:auto;transform:translateY(0)}.room-platform-room .navi-chat__message-menu-trigger{border:1px solid var(--navi-chat-color-border,#d8e0ea);color:#64748b;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:12px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 3px #0f172a14}.room-platform-room .navi-chat__message-menu-trigger:hover,.room-platform-room .navi-chat__message-menu-trigger:focus-visible{color:var(--navi-chat-color-primary,#2563eb);background:#eff6ff;border-color:#bfdbfe}.room-platform-room .navi-chat__message-menu-popover{z-index:2;border:1px solid var(--navi-chat-color-border,#d8e0ea);background:#fff;border-radius:8px;flex-direction:column;min-width:82px;display:flex;position:absolute;bottom:32px;right:0;overflow:hidden;box-shadow:0 8px 18px #0f172a24}.room-platform-room .navi-chat__message-row--own .navi-chat__message-menu-popover{left:0;right:auto}.room-platform-room .navi-chat__message-menu-item{color:var(--navi-chat-color-text,#111827);cursor:pointer;text-align:left;background:0 0;border:0;padding:8px 10px;font-size:12px;font-weight:600;line-height:1}.room-platform-room .navi-chat__message-menu-item:hover,.room-platform-room .navi-chat__message-menu-item:focus-visible{color:var(--navi-chat-color-primary,#2563eb);background:#f1f5f9}.room-platform-room .navi-chat__message-edit{flex-direction:column;gap:6px;display:flex}.room-platform-room .navi-chat__message-edit-input{box-sizing:border-box;resize:vertical;width:min(280px,100%);min-height:64px;color:var(--navi-chat-color-text,#111827);background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 9px;font-size:13px;line-height:1.4}.room-platform-room .navi-chat__message-edit-actions{justify-content:flex-end;gap:6px;display:flex}.room-platform-room .navi-chat__message-edit-button{border:1px solid var(--navi-chat-color-border,#d8e0ea);color:#334155;cursor:pointer;background:#fff;border-radius:7px;padding:7px 9px;font-size:12px;font-weight:700;line-height:1}.room-platform-room .navi-chat__message-edit-button--primary{border-color:var(--navi-chat-color-primary,#2563eb);background:var(--navi-chat-color-primary,#2563eb);color:#fff}.room-platform-room .navi-chat__latest-overlay{box-sizing:border-box;pointer-events:none;grid-template-columns:1fr auto 1fr;align-self:stretch;align-items:center;gap:8px;margin-top:8px;display:grid;position:sticky;bottom:8px}.room-platform-room .navi-chat__new-message-notice{border:1px solid var(--navi-chat-color-border,#d8e0ea);color:var(--navi-chat-color-primary,#2563eb);background:#fff;border-radius:999px;grid-column:2;padding:8px 12px;font-size:12px;font-weight:700;line-height:1;box-shadow:0 6px 16px #0f172a24}.room-platform-room .navi-chat__scroll-latest{box-sizing:border-box;border:1px solid var(--navi-chat-color-border,#d8e0ea);width:34px;height:34px;color:var(--navi-chat-color-primary,#2563eb);cursor:pointer;pointer-events:auto;background:#fff;border-radius:50%;flex:none;grid-column:3;justify-content:center;justify-self:end;align-items:center;margin-right:4px;padding:0;display:inline-flex;box-shadow:0 6px 16px #0f172a29}.room-platform-room .navi-chat__scroll-latest-icon{fill:currentColor;width:18px;height:18px}.room-platform-room .navi-chat__composer{border-top:1px solid var(--navi-chat-color-border,#d8e0ea);background:#fff;flex:none;align-items:flex-end;gap:8px;padding:10px;display:flex}.room-platform-room .navi-chat__composer-main{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.room-platform-room .navi-chat__composer-input{resize:vertical;min-width:0;min-height:38px;max-height:84px;color:var(--navi-chat-color-text,#111827);font:inherit;border:1px solid #cbd5e1;border-radius:8px;flex:auto;padding:9px 10px;font-size:13px;line-height:1.4}.room-platform-room .navi-chat__composer-tip{color:#64748b;margin:0;font-size:11px;line-height:1.3}.room-platform-room .navi-chat__send-button{background:var(--navi-chat-color-primary,#2563eb);color:#fff;cursor:pointer;border:0;border-radius:999px;flex:none;justify-content:center;align-self:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.room-platform-room .navi-chat__send-button:disabled{cursor:not-allowed;opacity:.45}.room-platform-room .navi-chat__send-icon{fill:currentColor;width:18px;height:18px}.room-platform-room .navi-chat__readonly{border-top:1px solid var(--navi-chat-color-border,#d8e0ea);color:#64748b;background:#f8fafc;flex:none;padding:12px 14px;font-size:13px}.room-platform-room .navi-chat__status{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.room-platform-room .navi-chat__status-dot{background:#94a3b8;border-radius:999px;width:9px;height:9px}.room-platform-room .navi-chat__status--connected .navi-chat__status-dot{background:#16a34a}.room-platform-room .navi-chat__status--muted .navi-chat__status-dot{background:#94a3b8}.room-platform-room .navi-chat__status--error .navi-chat__status-dot{background:#dc2626}.room-platform-room .whiteboard-react-canvas{width:100%;height:100%;position:relative}.room-platform-room .whiteboard-react-canvas__scene{height:100%;min-height:100%;position:relative}.room-platform-room .whiteboard-react-canvas__layer{width:100%;height:100%;position:absolute;inset:0}.room-platform-room .whiteboard-react-canvas__layer--scene{z-index:10;pointer-events:none}.room-platform-room .whiteboard-react-canvas__layer--interaction{z-index:11;touch-action:none;-webkit-user-select:none;user-select:none}.room-platform-room .whiteboard-react-trigger,.room-platform-room .whiteboard-react-toolbar,.room-platform-room .whiteboard-react-toolbar__popover{--whiteboard-overlay-bg:#fffffff0;--whiteboard-overlay-border:#94a3b852;--whiteboard-overlay-shadow:0 18px 40px #0f172a3d;--whiteboard-overlay-text:#0f172a;--whiteboard-overlay-muted:#475569;--whiteboard-overlay-accent:#0f766e;--whiteboard-overlay-accent-soft:#0f766e1f;--whiteboard-overlay-danger:#dc2626;border:1px solid var(--whiteboard-overlay-border);background:var(--whiteboard-overlay-bg);color:var(--whiteboard-overlay-text);box-shadow:var(--whiteboard-overlay-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.125rem;position:fixed}.room-platform-room .whiteboard-react-trigger{z-index:60;color:#00ff9d;cursor:pointer;background:#252627;border:0;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;padding:0;transition:background .14s,color .14s;display:inline-flex}.room-platform-room .whiteboard-react-trigger:hover{color:#000;background:#00ff9d}.room-platform-room .whiteboard-react-toolbar__tooltip-trigger{display:inline-flex}.room-platform-room .whiteboard-react-trigger:focus-visible,.room-platform-room .whiteboard-react-toolbar__button:focus-visible,.room-platform-room .whiteboard-react-toolbar__drag-handle:focus-visible,.room-platform-room .whiteboard-react-toolbar__option-chip:focus-visible,.room-platform-room .whiteboard-react-toolbar__width-chip:focus-visible,.room-platform-room .whiteboard-react-color-popover__swatch:focus-visible,.room-platform-room .whiteboard-react-toolbar__status-action:focus-visible{outline-offset:2px;outline:2px solid #0f766e73}.room-platform-room .whiteboard-react-trigger__icon{flex:none;width:1.5rem;height:1.5rem}.room-platform-room .whiteboard-react-toolbar__icon{flex:none;width:1.35rem;height:1.35rem}.room-platform-room .whiteboard-react-toolbar__icon.ColorSvg{width:2rem}.room-platform-room .whiteboard-react-trigger__label{white-space:nowrap}.room-platform-room .whiteboard-react-trigger__status-dot,.room-platform-room .whiteboard-react-toolbar__status-dot{background:var(--whiteboard-overlay-accent);border-radius:999px;flex:none;width:.5rem;height:.5rem;box-shadow:0 0 0 4px #0f766e24}.room-platform-room .whiteboard-react-trigger[data-runtime-state=failed] .whiteboard-react-trigger__status-dot{background:var(--whiteboard-overlay-danger);box-shadow:0 0 0 4px #dc26261f}.room-platform-room .whiteboard-react-toolbar{z-index:61;color:#f8fafc;transform-origin:50%;background:#292a2c;border:.15rem solid #e2e8f0b8;border-radius:.5rem;transition:transform .14s,box-shadow .14s;animation:.18s ease-in-out whiteboard-toolbar-orientation-vertical;box-shadow:0 12px 28px #0f172a4d}@keyframes whiteboard-toolbar-orientation-vertical{0%{transform:scaleX(1.2)}to{transform:scale(1)}}@keyframes whiteboard-toolbar-orientation-horizontal{0%{transform:scaleX(1.2)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.room-platform-room .whiteboard-react-toolbar{transition:none;animation:none}}.room-platform-room .whiteboard-react-toolbar__chrome{flex-direction:column;gap:.3rem;padding:.4rem;display:flex}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__chrome{box-sizing:border-box;flex-direction:row;align-items:center;padding:.4rem}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal]{animation-name:whiteboard-toolbar-orientation-horizontal}.room-platform-room .whiteboard-react-toolbar__drag-handle{color:#e2e8f0d6;cursor:grab;background:0 0;border-radius:.65rem;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:.75rem;transition:color .12s,border-color .12s;display:inline-flex;position:relative}.room-platform-room .whiteboard-react-toolbar__drag-handle:before{content:\"\";background:#e2e8f073;height:1px;position:absolute;top:-.5rem;left:0;right:0}.room-platform-room .whiteboard-react-toolbar__drag-handle:hover{color:#fff;background:#ffffff1a}.room-platform-room .whiteboard-react-toolbar__drag-handle:active{cursor:grabbing}.room-platform-room .whiteboard-react-toolbar__status{max-width:16rem;color:var(--whiteboard-overlay-muted);background:#f8fafcf5;border-radius:.875rem;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.room-platform-room .whiteboard-react-toolbar__status[data-state=failed]{color:var(--whiteboard-overlay-danger);background:#fef2f2f5}.room-platform-room .whiteboard-react-toolbar__status[data-state=busy]{color:var(--whiteboard-overlay-accent);background:#f0fdfaf5}.room-platform-room .whiteboard-react-toolbar__status-action{color:inherit;background:0 0;border:0;margin-left:.25rem;font-weight:700;text-decoration:underline}.room-platform-room .whiteboard-react-toolbar__rail{gap:.5rem;display:flex}.room-platform-room .whiteboard-react-toolbar[data-orientation=vertical] .whiteboard-react-toolbar__rail{flex-direction:column}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__rail{flex-direction:row;align-items:center}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__drag-handle:before{width:1px;height:auto;inset:0 auto 0 -.15rem}.room-platform-room .whiteboard-react-toolbar__button{color:#f8fafc;background:0 0;border:0;border-radius:.65rem;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:.75rem;transition:transform .12s,background .12s,border-color .12s,color .12s;display:inline-flex;position:relative}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__button,.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] .whiteboard-react-toolbar__drag-handle{margin-top:0;margin-bottom:0;margin-left:.75rem}.room-platform-room .whiteboard-react-toolbar__button:hover:not(:disabled){cursor:pointer;background:#ffffff1a}.room-platform-room .whiteboard-react-toolbar__button[data-active=true]{color:#fff;background:#0878f7}.room-platform-room .whiteboard-react-toolbar__button[data-active=true]:hover:not(:disabled){background:#0878f7}.room-platform-room .whiteboard-react-toolbar__button[aria-label=Color] .whiteboard-react-toolbar__icon{display:none}.room-platform-room .whiteboard-react-toolbar__button[aria-label=Color] .whiteboard-react-toolbar__button-swatch{border:0;width:1.5rem;height:1.5rem;position:static}.room-platform-room .whiteboard-react-toolbar__button[aria-label=\"Close whiteboard tools\"]{color:#fff;background:#ef1111;margin-bottom:.75rem}.room-platform-room .whiteboard-react-toolbar__button[aria-label=\"Close whiteboard tools\"]:hover:not(:disabled){background:#dc0d0d}.room-platform-room .whiteboard-react-toolbar[data-orientation=horizontal] span:last-child .whiteboard-react-toolbar__button{margin-bottom:0;margin-right:.75rem}.room-platform-room .whiteboard-react-toolbar__button:disabled,.room-platform-room .whiteboard-react-toolbar__option-chip:disabled,.room-platform-room .whiteboard-react-toolbar__width-chip:disabled,.room-platform-room .whiteboard-react-color-popover__swatch:disabled{cursor:not-allowed;opacity:.46}.room-platform-room .whiteboard-react-toolbar__button-swatch{background:var(--whiteboard-color);border:1px solid #fffc;border-radius:999px;width:.6rem;height:.6rem;position:absolute;bottom:.34rem;right:.34rem;box-shadow:0 0 0 1px #0f172a1f}.room-platform-room .whiteboard-react-toolbar__popover{z-index:62;color:#f8fafc;background:#292a2c;border:.15rem solid #e2e8f0b8;border-radius:.5rem;padding:.65rem;box-shadow:0 12px 28px #0f172a4d}.room-platform-room .whiteboard-react-draw-popover{max-width:15.5rem}.room-platform-room .whiteboard-react-color-popover{width:12.5rem}.room-platform-room .whiteboard-react-toolbar__popover-section{flex-direction:column;gap:.35rem;display:flex}.room-platform-room .whiteboard-react-toolbar__popover-section+.whiteboard-react-toolbar__popover-section{margin-top:.55rem}.room-platform-room .whiteboard-react-toolbar__popover-label{letter-spacing:.04em;text-transform:uppercase;color:#e2e8f0d1;margin:0;font-size:.75rem;font-weight:700}.room-platform-room .whiteboard-react-toolbar__option-grid,.room-platform-room .whiteboard-react-toolbar__width-grid{gap:.35rem;display:grid}.room-platform-room .whiteboard-react-toolbar__option-grid,.room-platform-room .whiteboard-react-toolbar__option-grid--shapes{grid-template-columns:repeat(4,minmax(0,1fr))}.room-platform-room .whiteboard-react-toolbar__option-chip,.room-platform-room .whiteboard-react-toolbar__width-chip{color:#f8fafc;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.65rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.room-platform-room .whiteboard-react-toolbar__option-chip[data-active=true],.room-platform-room .whiteboard-react-toolbar__width-chip[data-active=true]{color:#fff;background:#0878f7;border-color:#0000}.room-platform-room .whiteboard-react-toolbar__option-chip:hover:not(:disabled):not([data-active=true]),.room-platform-room .whiteboard-react-toolbar__width-chip:hover:not(:disabled):not([data-active=true]){color:#fff}.room-platform-room .whiteboard-react-toolbar__width-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.room-platform-room .whiteboard-react-toolbar__option-icon{flex:none}.room-platform-room .whiteboard-react-toolbar__width-sample{background:currentColor;border-radius:999px;flex:none;width:1.35rem;height:1.35rem;display:inline-flex}.room-platform-room .whiteboard-react-toolbar__width-sample[data-width=xs]{width:.3rem;height:.3rem}.room-platform-room .whiteboard-react-toolbar__width-sample[data-width=sm]{width:.45rem;height:.45rem}.room-platform-room .whiteboard-react-toolbar__width-sample[data-width=md]{width:.65rem;height:.65rem}.room-platform-room .whiteboard-react-toolbar__width-sample[data-width=lg]{width:.9rem;height:.9rem}.room-platform-room .whiteboard-react-color-popover__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.room-platform-room .whiteboard-react-color-popover__swatch{cursor:pointer;background:#ffffffe6;border:1px solid #94a3b847;border-radius:999px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;display:inline-flex}.room-platform-room .whiteboard-react-color-popover__swatch-fill{background:var(--whiteboard-color);border-radius:999px;width:1.35rem;height:1.35rem;box-shadow:inset 0 0 0 1px #0f172a14}.room-platform-room .whiteboard-react-color-popover__swatch[data-active=true]{border-color:#0f766e73;box-shadow:0 0 0 4px #0f766e1f}.room-platform-room .whiteboard-react-color-popover__swatch[data-light=true] .whiteboard-react-color-popover__swatch-fill{box-shadow:inset 0 0 0 1px #0f172a1f,0 0 0 1px #e2e8f0cc}.room-platform-room{--primary:#242f62;--primary-foreground:#fff;--secondary:#eb6619;--secondary-foreground:#fff;--ring:#9dc2f3;--sidebar-primary:#242f62;--sidebar-primary-foreground:#fff}.room-platform-room body{font-family:var(--font-quicksand), sans-serif;letter-spacing:0}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}\n/* @naviedu/room-platform-react bundled tailwind utilities */\n.room-platform-host {\n box-sizing: border-box;\n display: block;\n height: 100%;\n min-height: 0;\n min-width: 0;\n position: relative;\n}\n\n:host(.room-platform-host) {\n box-sizing: border-box;\n display: block;\n height: 100%;\n min-height: 0;\n min-width: 0;\n position: relative;\n}\n\n[data-room-platform-app-root] {\n box-sizing: border-box;\n display: block;\n height: 100%;\n min-height: 0;\n min-width: 0;\n}\n\n.room-platform-room {\n --tw-border-style: solid;\n --room-platform-navy: #242f62;\n --room-platform-orange: #eb6619;\n --room-platform-border: #dbe3ef;\n --room-platform-surface: #ffffff;\n --room-platform-muted: #f8fafc;\n background: var(--room-platform-muted);\n color: #172033;\n display: flex;\n flex-direction: column;\n min-width: 0;\n overflow: hidden;\n width: 100%;\n}\n\n.room-platform-room[data-sizing='viewport'] {\n height: 100dvh;\n min-height: 100dvh;\n}\n\n.room-platform-room[data-sizing='container'] {\n height: 100%;\n min-height: 0;\n width: 100%;\n}\n\n.room-platform-room.room-platform-portal-root {\n background: transparent;\n display: block;\n height: 100%;\n inset: 0;\n min-height: 0;\n overflow: visible;\n pointer-events: none;\n position: absolute;\n width: auto;\n z-index: 100;\n}\n\n.room-platform-room.room-platform-portal-root > * {\n pointer-events: auto;\n}\n\n.room-platform-private-room-status-banner {\n align-items: center;\n border-bottom: 1px solid;\n display: flex;\n font-size: 0.875rem;\n gap: 0.75rem;\n min-height: 2.5rem;\n padding: 0.5rem 1rem;\n}\n\n.room-platform-private-room-status-banner--info {\n background: #f0f9ff;\n border-color: #bae6fd;\n color: #082f49;\n}\n\n.room-platform-private-room-status-banner--warning {\n background: #fffbeb;\n border-color: #fde68a;\n color: #451a03;\n}\n\n.room-platform-private-room-status-banner--success {\n background: #ecfdf5;\n border-color: #a7f3d0;\n color: #022c22;\n}\n\n.room-platform-private-room-status-banner__spinner {\n animation: room-platform-private-room-status-spinner 1s linear infinite;\n flex-shrink: 0;\n height: 1rem;\n width: 1rem;\n}\n\n.room-platform-private-room-status-banner__content {\n min-width: 0;\n}\n\n.room-platform-private-room-status-banner__message {\n font-weight: 600;\n line-height: 1.25rem;\n}\n\n.room-platform-private-room-status-banner__detail {\n font-size: 0.75rem;\n line-height: 1.25rem;\n opacity: 0.8;\n}\n\n@keyframes room-platform-private-room-status-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n.room-platform-surface {\n box-sizing: border-box;\n}\n\n.room-platform-panel {\n background: var(--room-platform-surface);\n border: 1px solid var(--room-platform-border);\n border-radius: 8px;\n}\n\n.room-platform-button {\n align-items: center;\n border: 1px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n display: inline-flex;\n font: inherit;\n gap: 0.375rem;\n justify-content: center;\n min-height: 2rem;\n padding: 0.375rem 0.75rem;\n}\n\n.room-platform-button:focus-visible,\n.room-platform-tab:focus-visible {\n outline: 3px solid color-mix(in srgb, var(--room-platform-orange), transparent 65%);\n outline-offset: 2px;\n}\n\n.room-platform-button:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.room-platform-button--default {\n background: var(--room-platform-navy);\n color: #fff;\n}\n\n.room-platform-button--quiet {\n background: #edf2f7;\n color: var(--room-platform-navy);\n}\n\n.room-platform-button--danger {\n background: #fff1f2;\n color: #b42318;\n}\n\n.room-platform-shell {\n background: #020617;\n color: #fff;\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n}\n\n.room-platform-shell-top-bar--hidden {\n display: none;\n}\n\n.room-platform-shell-body {\n display: grid;\n flex: 1;\n grid-template-columns: minmax(0, 1fr);\n min-height: 0;\n position: relative;\n}\n\n.room-platform-shell-body--sidebar {\n grid-template-columns: minmax(0, 1fr) minmax(16.25rem, 18.75rem);\n}\n\n.room-platform-shell-main {\n display: flex;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n}\n\n.room-platform-shell-sidebar {\n display: flex;\n min-height: 0;\n position: relative;\n width: 100%;\n}\n\n.room-platform-shell-sidebar-content {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n\n.room-platform-shell-sidebar-open,\n.room-platform-shell-sidebar-close {\n position: absolute;\n z-index: 40;\n}\n\n.room-platform-shell-sidebar-open {\n right: 1rem;\n top: 1rem;\n}\n\n.room-platform-shell-sidebar-close {\n left: 0;\n top: 0.75rem;\n transform: translateX(-100%);\n}\n\n.room-platform-top-bar {\n align-items: center;\n background: #0f172a;\n border-bottom: 1px solid rgb(255 255 255 / 10%);\n color: #fff;\n display: flex;\n flex-wrap: wrap;\n gap: 0.75rem;\n justify-content: space-between;\n min-height: 4.5rem;\n padding: 0.75rem 1rem;\n}\n\n.room-platform-top-bar h1,\n.room-platform-top-bar p {\n margin: 0;\n}\n\n.room-platform-top-bar h1 {\n color: #fff;\n font-size: 1.125rem;\n}\n\n.room-platform-eyebrow {\n color: #cbd5e1;\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.room-platform-top-bar-heading,\n.room-platform-top-bar-trailing {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n\n.room-platform-top-bar-trailing {\n justify-content: flex-end;\n}\n\n.room-platform-media-controls {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n}\n\n.room-platform-media-controls .room-platform-button {\n font-size: 0.8125rem;\n}\n\n.room-platform-status {\n border-radius: 999px;\n font-size: 0.8rem;\n font-weight: 600;\n padding: 0.25rem 0.625rem;\n}\n\n.room-platform-status[data-status='connected'] {\n background: #dcfae6;\n color: #166534;\n}\n\n.room-platform-status[data-status='error'] {\n background: #fee2e2;\n color: #b42318;\n}\n\n.room-platform-status[data-status='connecting'],\n.room-platform-status[data-status='reconnecting'] {\n background: #fff3d6;\n color: #9a4f00;\n}\n\n.room-platform-main {\n display: flex;\n flex: 1;\n gap: 1rem;\n min-height: 0;\n min-width: 0;\n padding: 1rem;\n position: relative;\n}\n\n.room-platform-stage-area {\n flex: 1;\n min-height: 26rem;\n min-width: 0;\n position: relative;\n}\n\n.room-platform-stage {\n align-items: center;\n background: linear-gradient(135deg, #1e2a5b, #3c4b89);\n color: #fff;\n display: flex;\n height: 100%;\n justify-content: center;\n overflow: hidden;\n padding: 1rem;\n position: relative;\n}\n\n.room-platform-stage-title {\n font-size: 1.125rem;\n font-weight: 700;\n}\n\n.room-platform-sidebar {\n background: var(--room-platform-surface);\n border: 1px solid var(--room-platform-border);\n border-radius: 8px;\n min-width: 0;\n overflow: hidden;\n width: 100%;\n}\n\n.room-platform-control-anchor {\n align-items: stretch;\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n}\n\n.room-platform-control-bar {\n bottom: 0;\n display: flex;\n justify-content: center;\n left: 0;\n margin: auto;\n padding: 0 0.75rem 0.75rem;\n position: absolute;\n right: 0;\n transition: transform 200ms ease;\n width: fit-content;\n z-index: 40;\n}\n\n.room-platform-control-bar--hidden {\n transform: translateY(calc(100% - 0.75rem));\n}\n\n.room-platform-control-reveal {\n bottom: 0.25rem;\n left: 50%;\n position: absolute;\n transform: translateX(-50%);\n z-index: 30;\n}\n\n.room-platform-side-media {\n display: grid;\n gap: 0.75rem;\n padding: 0.75rem;\n}\n\n.room-platform-video-tile {\n background: #0f172a;\n border-radius: 8px;\n color: #fff;\n min-height: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n\n.room-platform-video-tile--preview,\n.room-platform-video-tile--active-speaker {\n aspect-ratio: 16 / 9;\n}\n\n.room-platform-video-tile--stage,\n.room-platform-video-tile--overlay {\n height: 100%;\n}\n\n.room-platform-video-tile-media {\n display: block;\n height: 100%;\n object-fit: cover;\n width: 100%;\n}\n\n.room-platform-video-tile--stage .room-platform-video-tile-media {\n object-fit: contain;\n}\n\n.room-platform-video-tile-media--mirrored {\n transform: scaleX(-1);\n}\n\n.room-platform-video-tile-label {\n background: rgb(15 23 42 / 75%);\n border-radius: 999px;\n bottom: 0.5rem;\n font-size: 0.75rem;\n font-weight: 700;\n left: 0.5rem;\n max-width: calc(100% - 1rem);\n overflow: hidden;\n padding: 0.25rem 0.5rem;\n position: absolute;\n text-overflow: ellipsis;\n white-space: nowrap;\n z-index: 15;\n}\n\n.room-platform-video-tile-empty {\n align-items: center;\n display: flex;\n font-size: 0.8125rem;\n height: 100%;\n justify-content: center;\n margin: 0;\n min-height: 8rem;\n padding: 1rem;\n text-align: center;\n}\n\n.room-platform-tabs {\n border-bottom: 1px solid var(--room-platform-border);\n display: flex;\n gap: 0.25rem;\n overflow-x: auto;\n padding: 0.5rem;\n}\n\n.room-platform-tab {\n background: transparent;\n border: 0;\n border-radius: 6px;\n color: #475569;\n cursor: pointer;\n font: inherit;\n font-size: 0.875rem;\n padding: 0.4rem 0.6rem;\n white-space: nowrap;\n}\n\n.room-platform-tab[aria-selected='true'] {\n background: #e9edf9;\n color: var(--room-platform-navy);\n font-weight: 700;\n}\n\n.room-platform-tab-panel {\n padding: 0.75rem;\n}\n\n.room-platform-participant-list {\n display: grid;\n gap: 0.5rem;\n}\n\n.room-platform-participant-row {\n align-items: center;\n display: flex;\n gap: 0.75rem;\n justify-content: space-between;\n padding: 0.75rem;\n}\n\n.room-platform-participant-identity {\n align-items: center;\n display: flex;\n gap: 0.5rem;\n min-width: 0;\n}\n\n.room-platform-participant-name,\n.room-platform-participant-subtitle {\n margin: 0;\n}\n\n.room-platform-participant-name {\n color: var(--room-platform-navy);\n font-size: 1rem;\n font-weight: 700;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.room-platform-participant-status-dot {\n border-radius: 9999px;\n flex: 0 0 auto;\n height: 0.625rem;\n width: 0.625rem;\n}\n\n.room-platform-participant-status-dot[data-online='true'] {\n background: #10b981;\n box-shadow: 0 0 0 2px #d1fae5;\n}\n\n.room-platform-participant-status-dot[data-online='false'] {\n background: #cbd5e1;\n box-shadow: 0 0 0 2px #f1f5f9;\n}\n\n.room-platform-participant-subtitle {\n color: #64748b;\n font-size: 0.75rem;\n}\n\n.room-platform-participant-presence {\n color: #64748b;\n font-size: 0.75rem;\n font-weight: 500;\n margin: 0.25rem 0 0;\n}\n\n.room-platform-participant-presence[data-online='true'] {\n color: #16a34a;\n}\n\n.room-platform-participant-row-trailing,\n.room-platform-participant-actions {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n justify-content: flex-end;\n}\n\n.room-platform-participant-actions .room-platform-button {\n font-size: 0.75rem;\n min-height: 1.75rem;\n padding: 0.25rem 0.5rem;\n}\n\n.room-platform-action-error {\n color: #b42318;\n font-size: 0.8125rem;\n margin: 0.5rem 0 0;\n}\n\n.room-platform-error {\n color: #fca5a5;\n font-size: 0.8125rem;\n margin: 0.5rem 0 0;\n}\n\n.room-platform-empty {\n color: #64748b;\n font-size: 0.875rem;\n margin: 0;\n padding: 1rem 0;\n text-align: center;\n}\n\n.room-platform-whiteboard {\n height: 100%;\n width: 100%;\n}\n\n.room-platform-surface-error {\n align-items: center;\n background: rgb(15 23 42 / 88%);\n color: #fff;\n display: flex;\n height: 100%;\n justify-content: center;\n margin: 0;\n padding: 1rem;\n text-align: center;\n width: 100%;\n}\n\n.room-platform-start-audio {\n background: #242f62;\n border: 0;\n border-radius: 8px;\n color: #fff;\n cursor: pointer;\n left: 50%;\n padding: 0.625rem 1rem;\n position: fixed;\n top: 1rem;\n transform: translateX(-50%);\n z-index: 50;\n}\n\n.room-platform-start-audio:focus-visible {\n outline: 3px solid #eb6619;\n outline-offset: 2px;\n}\n\n.room-platform-stage-frame {\n align-items: center;\n background: #0f172a;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n max-height: 100%;\n max-width: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n\n.room-platform-stage-frame > video {\n display: block;\n height: 100%;\n object-fit: contain;\n width: 100%;\n}\n\n.room-platform-stage-content {\n inset: 0;\n position: absolute;\n z-index: 10;\n}\n\n.room-platform-stage-camera-overlay {\n aspect-ratio: 16 / 9;\n left: 1rem;\n max-width: 40%;\n overflow: hidden;\n position: absolute;\n top: 1rem;\n width: 12rem;\n z-index: 20;\n}\n\n.room-platform-stage-camera-overlay video {\n height: 100%;\n object-fit: cover;\n width: 100%;\n}\n\n.room-platform-stage-status {\n background: rgb(15 23 42 / 80%);\n border-radius: 999px;\n color: #dbeafe;\n left: 50%;\n margin: 0;\n padding: 0.375rem 0.75rem;\n position: absolute;\n top: 1.5rem;\n transform: translateX(-50%);\n z-index: 30;\n}\n\n@keyframes private-live-room-bell-ring {\n 0%,\n 52%,\n 100% {\n transform: rotate(0deg);\n }\n 6% {\n transform: rotate(14deg);\n }\n 12% {\n transform: rotate(-14deg);\n }\n 18% {\n transform: rotate(12deg);\n }\n 24% {\n transform: rotate(-10deg);\n }\n 30% {\n transform: rotate(8deg);\n }\n 38% {\n transform: rotate(-5deg);\n }\n 46% {\n transform: rotate(3deg);\n }\n}\n\n.private-live-room-ringing-bell {\n display: inline-flex;\n animation: private-live-room-bell-ring 2.2s ease-in-out infinite;\n transform-box: fill-box;\n transform-origin: 50% 0%;\n will-change: transform;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .private-live-room-ringing-bell {\n animation: none;\n }\n}\n\n@media (max-width: 900px) {\n .room-platform-stage-area {\n min-height: 20rem;\n }\n}\n\n@media (max-width: 767px) {\n .room-platform-shell-body {\n grid-template-columns: 1fr;\n grid-template-rows: minmax(15rem, 45dvh) minmax(0, 1fr);\n }\n\n .room-platform-shell-body > .room-platform-shell-main:only-child {\n grid-row: 1 / -1;\n }\n\n .room-platform-shell-sidebar {\n max-width: none;\n }\n\n .room-platform-top-bar {\n align-items: flex-start;\n flex-direction: column;\n gap: 0.75rem;\n }\n\n .room-platform-top-bar-heading,\n .room-platform-top-bar-trailing {\n justify-content: flex-start;\n width: 100%;\n }\n\n .room-platform-main {\n flex-direction: column;\n padding: 0.5rem;\n }\n}\n";
|
|
28999
29712
|
|
|
29000
29713
|
function _array_like_to_array$2(arr, len) {
|
|
29001
29714
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -29834,6 +30547,16 @@ function _ts_generator(thisArg, body) {
|
|
|
29834
30547
|
};
|
|
29835
30548
|
}
|
|
29836
30549
|
}
|
|
30550
|
+
function RoomPlatformMainWhiteboard(param) {
|
|
30551
|
+
var permissions = param.permissions;
|
|
30552
|
+
var setWhiteboardState = useRoomPlatformRoomControl().setWhiteboardState;
|
|
30553
|
+
return /*#__PURE__*/ jsx(RoomPlatformMainWhiteboardSurface, {
|
|
30554
|
+
children: /*#__PURE__*/ jsx(WhiteboardCanvas, {
|
|
30555
|
+
permissions: permissions,
|
|
30556
|
+
onToolbarStateChange: setWhiteboardState
|
|
30557
|
+
})
|
|
30558
|
+
});
|
|
30559
|
+
}
|
|
29837
30560
|
function RoomPlatformChatUnreadBadge() {
|
|
29838
30561
|
var totalUnreadCount = useChatContext().totalUnreadCount;
|
|
29839
30562
|
return /*#__PURE__*/ jsx(UnreadBadge, {
|
|
@@ -30282,7 +31005,7 @@ var RoomPlatformWorkspaceContent = function(param) {
|
|
|
30282
31005
|
/*#__PURE__*/ jsx(RoomPlatformWhiteboardShareLifecycle, {
|
|
30283
31006
|
shareSessionKey: shareSessionKey
|
|
30284
31007
|
}),
|
|
30285
|
-
/*#__PURE__*/ jsx(
|
|
31008
|
+
/*#__PURE__*/ jsx(RoomPlatformMainWhiteboard, {
|
|
30286
31009
|
permissions: (_ref = (_whiteboardProviderProps_auth = whiteboardProviderProps.auth) === null || _whiteboardProviderProps_auth === void 0 ? void 0 : _whiteboardProviderProps_auth.permissions) !== null && _ref !== void 0 ? _ref : []
|
|
30287
31010
|
})
|
|
30288
31011
|
]
|
|
@@ -30406,25 +31129,29 @@ function RoomPlatformPrivateRoomRuntime(param) {
|
|
|
30406
31129
|
});
|
|
30407
31130
|
}
|
|
30408
31131
|
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, [
|
|
31132
|
+
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
31133
|
"children",
|
|
30411
31134
|
"completionAction",
|
|
30412
31135
|
"extensions",
|
|
30413
31136
|
"modeConfig",
|
|
30414
31137
|
"onExit",
|
|
30415
31138
|
"primaryCameraPlacement",
|
|
31139
|
+
"roomControlScopeId",
|
|
30416
31140
|
"sizing"
|
|
30417
31141
|
]);
|
|
30418
31142
|
return /*#__PURE__*/ jsx(RoomPlatformProvider, _object_spread_props(_object_spread({}, providerProps), {
|
|
30419
|
-
children: /*#__PURE__*/ jsx(
|
|
30420
|
-
|
|
30421
|
-
|
|
30422
|
-
|
|
30423
|
-
|
|
30424
|
-
|
|
30425
|
-
|
|
30426
|
-
|
|
30427
|
-
|
|
31143
|
+
children: /*#__PURE__*/ jsx(RoomPlatformRoomControlRuntime, {
|
|
31144
|
+
scopeId: roomControlScopeId,
|
|
31145
|
+
children: /*#__PURE__*/ jsx(RoomPlatformMediaRuntime, {
|
|
31146
|
+
children: /*#__PURE__*/ jsx(RoomPlatformPrivateRoomRuntime, {
|
|
31147
|
+
children: children !== null && children !== void 0 ? children : /*#__PURE__*/ jsx(RoomPlatformWorkspace, {
|
|
31148
|
+
completionAction: completionAction,
|
|
31149
|
+
extensions: extensions,
|
|
31150
|
+
modeConfig: modeConfig,
|
|
31151
|
+
onExit: onExit,
|
|
31152
|
+
primaryCameraPlacement: primaryCameraPlacement,
|
|
31153
|
+
sizing: sizing
|
|
31154
|
+
})
|
|
30428
31155
|
})
|
|
30429
31156
|
})
|
|
30430
31157
|
})
|