@naviedu/room-platform-react 0.0.11 → 0.0.13
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 +8 -3
- package/index.d.ts +1 -1
- package/index.esm.js +638 -447
- package/package.json +1 -1
- package/styles.css +4964 -2167
package/index.esm.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { Component,
|
|
3
|
+
import { Component, useContext, createContext, useState, useRef, useCallback, useEffect, useMemo, useId, forwardRef, useLayoutEffect } 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, Check } from 'lucide-react';
|
|
6
|
-
import { toast } from 'sonner';
|
|
7
6
|
import { RoomEvent, Track, createLocalVideoTrack, Room, DataPacket_Kind } from 'livekit-client';
|
|
7
|
+
import { createPortal } from 'react-dom';
|
|
8
|
+
import { toast, Toaster } from 'sonner';
|
|
8
9
|
import { VideoTrack, RoomContext, RoomAudioRenderer, StartAudio, useTracks, useRoomContext, TrackToggle } from '@livekit/components-react';
|
|
9
10
|
import { supportsBackgroundProcessors, BackgroundProcessor } from '@livekit/track-processors';
|
|
10
|
-
import { createPortal } from 'react-dom';
|
|
11
11
|
import { io } from 'socket.io-client';
|
|
12
12
|
|
|
13
13
|
function _assert_this_initialized$2(self) {
|
|
@@ -260,16 +260,16 @@ function clsx() {
|
|
|
260
260
|
return n;
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
-
function _array_like_to_array$
|
|
263
|
+
function _array_like_to_array$C(arr, len) {
|
|
264
264
|
if (len == null || len > arr.length) len = arr.length;
|
|
265
265
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
266
266
|
return arr2;
|
|
267
267
|
}
|
|
268
|
-
function _array_with_holes$
|
|
268
|
+
function _array_with_holes$y(arr) {
|
|
269
269
|
if (Array.isArray(arr)) return arr;
|
|
270
270
|
}
|
|
271
271
|
function _array_without_holes$f(arr) {
|
|
272
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
272
|
+
if (Array.isArray(arr)) return _array_like_to_array$C(arr);
|
|
273
273
|
}
|
|
274
274
|
function _define_property$x(obj, key, value) {
|
|
275
275
|
if (key in obj) {
|
|
@@ -287,7 +287,7 @@ function _define_property$x(obj, key, value) {
|
|
|
287
287
|
function _iterable_to_array$f(iter) {
|
|
288
288
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
289
289
|
}
|
|
290
|
-
function _iterable_to_array_limit$
|
|
290
|
+
function _iterable_to_array_limit$y(arr, i) {
|
|
291
291
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
292
292
|
if (_i == null) return;
|
|
293
293
|
var _arr = [];
|
|
@@ -311,7 +311,7 @@ function _iterable_to_array_limit$x(arr, i) {
|
|
|
311
311
|
}
|
|
312
312
|
return _arr;
|
|
313
313
|
}
|
|
314
|
-
function _non_iterable_rest$
|
|
314
|
+
function _non_iterable_rest$y() {
|
|
315
315
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
316
316
|
}
|
|
317
317
|
function _non_iterable_spread$f() {
|
|
@@ -332,19 +332,19 @@ function _object_spread$t(target) {
|
|
|
332
332
|
}
|
|
333
333
|
return target;
|
|
334
334
|
}
|
|
335
|
-
function _sliced_to_array$
|
|
336
|
-
return _array_with_holes$
|
|
335
|
+
function _sliced_to_array$y(arr, i) {
|
|
336
|
+
return _array_with_holes$y(arr) || _iterable_to_array_limit$y(arr, i) || _unsupported_iterable_to_array$C(arr, i) || _non_iterable_rest$y();
|
|
337
337
|
}
|
|
338
338
|
function _to_consumable_array$f(arr) {
|
|
339
|
-
return _array_without_holes$f(arr) || _iterable_to_array$f(arr) || _unsupported_iterable_to_array$
|
|
339
|
+
return _array_without_holes$f(arr) || _iterable_to_array$f(arr) || _unsupported_iterable_to_array$C(arr) || _non_iterable_spread$f();
|
|
340
340
|
}
|
|
341
|
-
function _unsupported_iterable_to_array$
|
|
341
|
+
function _unsupported_iterable_to_array$C(o, minLen) {
|
|
342
342
|
if (!o) return;
|
|
343
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
343
|
+
if (typeof o === "string") return _array_like_to_array$C(o, minLen);
|
|
344
344
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
345
345
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
346
346
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
347
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
347
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$C(o, minLen);
|
|
348
348
|
}
|
|
349
349
|
/**
|
|
350
350
|
* Concatenates two arrays faster than the array spread operator.
|
|
@@ -503,7 +503,7 @@ var processObjectDefinition = function(classDefinition, classPartObject, classGr
|
|
|
503
503
|
var entries = Object.entries(classDefinition);
|
|
504
504
|
var len = entries.length;
|
|
505
505
|
for(var i = 0; i < len; i++){
|
|
506
|
-
var _entries_i = _sliced_to_array$
|
|
506
|
+
var _entries_i = _sliced_to_array$y(entries[i], 2), key = _entries_i[0], value = _entries_i[1];
|
|
507
507
|
processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
|
|
508
508
|
}
|
|
509
509
|
};
|
|
@@ -5293,16 +5293,16 @@ function cn() {
|
|
|
5293
5293
|
return twMerge(clsx(inputs));
|
|
5294
5294
|
}
|
|
5295
5295
|
|
|
5296
|
-
function _array_like_to_array$
|
|
5296
|
+
function _array_like_to_array$B(arr, len) {
|
|
5297
5297
|
if (len == null || len > arr.length) len = arr.length;
|
|
5298
5298
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
5299
5299
|
return arr2;
|
|
5300
5300
|
}
|
|
5301
|
-
function _array_with_holes$
|
|
5301
|
+
function _array_with_holes$x(arr) {
|
|
5302
5302
|
if (Array.isArray(arr)) return arr;
|
|
5303
5303
|
}
|
|
5304
5304
|
function _array_without_holes$e(arr) {
|
|
5305
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
5305
|
+
if (Array.isArray(arr)) return _array_like_to_array$B(arr);
|
|
5306
5306
|
}
|
|
5307
5307
|
function _define_property$w(obj, key, value) {
|
|
5308
5308
|
if (key in obj) {
|
|
@@ -5320,7 +5320,7 @@ function _define_property$w(obj, key, value) {
|
|
|
5320
5320
|
function _iterable_to_array$e(iter) {
|
|
5321
5321
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
5322
5322
|
}
|
|
5323
|
-
function _iterable_to_array_limit$
|
|
5323
|
+
function _iterable_to_array_limit$x(arr, i) {
|
|
5324
5324
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
5325
5325
|
if (_i == null) return;
|
|
5326
5326
|
var _arr = [];
|
|
@@ -5344,7 +5344,7 @@ function _iterable_to_array_limit$w(arr, i) {
|
|
|
5344
5344
|
}
|
|
5345
5345
|
return _arr;
|
|
5346
5346
|
}
|
|
5347
|
-
function _non_iterable_rest$
|
|
5347
|
+
function _non_iterable_rest$x() {
|
|
5348
5348
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
5349
5349
|
}
|
|
5350
5350
|
function _non_iterable_spread$e() {
|
|
@@ -5401,19 +5401,19 @@ function _object_without_properties_loose$f(source, excluded) {
|
|
|
5401
5401
|
}
|
|
5402
5402
|
return target;
|
|
5403
5403
|
}
|
|
5404
|
-
function _sliced_to_array$
|
|
5405
|
-
return _array_with_holes$
|
|
5404
|
+
function _sliced_to_array$x(arr, i) {
|
|
5405
|
+
return _array_with_holes$x(arr) || _iterable_to_array_limit$x(arr, i) || _unsupported_iterable_to_array$B(arr, i) || _non_iterable_rest$x();
|
|
5406
5406
|
}
|
|
5407
5407
|
function _to_consumable_array$e(arr) {
|
|
5408
|
-
return _array_without_holes$e(arr) || _iterable_to_array$e(arr) || _unsupported_iterable_to_array$
|
|
5408
|
+
return _array_without_holes$e(arr) || _iterable_to_array$e(arr) || _unsupported_iterable_to_array$B(arr) || _non_iterable_spread$e();
|
|
5409
5409
|
}
|
|
5410
|
-
function _unsupported_iterable_to_array$
|
|
5410
|
+
function _unsupported_iterable_to_array$B(o, minLen) {
|
|
5411
5411
|
if (!o) return;
|
|
5412
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
5412
|
+
if (typeof o === "string") return _array_like_to_array$B(o, minLen);
|
|
5413
5413
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
5414
5414
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
5415
5415
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
5416
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
5416
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$B(o, minLen);
|
|
5417
5417
|
}
|
|
5418
5418
|
var falsyToString = function(value) {
|
|
5419
5419
|
return typeof value === "boolean" ? "".concat(value) : value === 0 ? "0" : value;
|
|
@@ -5432,7 +5432,7 @@ var cva = function(base, config) {
|
|
|
5432
5432
|
return variants[variant][variantKey];
|
|
5433
5433
|
});
|
|
5434
5434
|
var propsWithoutUndefined = props && Object.entries(props).reduce(function(acc, param) {
|
|
5435
|
-
var _param = _sliced_to_array$
|
|
5435
|
+
var _param = _sliced_to_array$x(param, 2), key = _param[0], value = _param[1];
|
|
5436
5436
|
if (value === undefined) {
|
|
5437
5437
|
return acc;
|
|
5438
5438
|
}
|
|
@@ -5445,7 +5445,7 @@ var cva = function(base, config) {
|
|
|
5445
5445
|
"className"
|
|
5446
5446
|
]);
|
|
5447
5447
|
return Object.entries(compoundVariantOptions).every(function(param) {
|
|
5448
|
-
var _param = _sliced_to_array$
|
|
5448
|
+
var _param = _sliced_to_array$x(param, 2), key = _param[0], value = _param[1];
|
|
5449
5449
|
return Array.isArray(value) ? value.includes(_object_spread$s({}, defaultVariants, propsWithoutUndefined)[key]) : _object_spread$s({}, defaultVariants, propsWithoutUndefined)[key] === value;
|
|
5450
5450
|
}) ? _to_consumable_array$e(acc).concat([
|
|
5451
5451
|
cvClass,
|
|
@@ -5568,6 +5568,18 @@ function Button(_0) {
|
|
|
5568
5568
|
}, props));
|
|
5569
5569
|
}
|
|
5570
5570
|
|
|
5571
|
+
var PortalContainerContext = /*#__PURE__*/ createContext(null);
|
|
5572
|
+
function PortalContainerProvider(param) {
|
|
5573
|
+
var children = param.children, container = param.container;
|
|
5574
|
+
return /*#__PURE__*/ jsx(PortalContainerContext.Provider, {
|
|
5575
|
+
value: container,
|
|
5576
|
+
children: children
|
|
5577
|
+
});
|
|
5578
|
+
}
|
|
5579
|
+
function usePortalContainer() {
|
|
5580
|
+
return useContext(PortalContainerContext);
|
|
5581
|
+
}
|
|
5582
|
+
|
|
5571
5583
|
function _define_property$u(obj, key, value) {
|
|
5572
5584
|
if (key in obj) {
|
|
5573
5585
|
Object.defineProperty(obj, key, {
|
|
@@ -5614,6 +5626,25 @@ function _object_spread$q(target) {
|
|
|
5614
5626
|
}
|
|
5615
5627
|
return target;
|
|
5616
5628
|
}
|
|
5629
|
+
function ownKeys$l(object, enumerableOnly) {
|
|
5630
|
+
var keys = Object.keys(object);
|
|
5631
|
+
if (Object.getOwnPropertySymbols) {
|
|
5632
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
5633
|
+
keys.push.apply(keys, symbols);
|
|
5634
|
+
}
|
|
5635
|
+
return keys;
|
|
5636
|
+
}
|
|
5637
|
+
function _object_spread_props$l(target, source) {
|
|
5638
|
+
source = source != null ? source : {};
|
|
5639
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
5640
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
5641
|
+
} else {
|
|
5642
|
+
ownKeys$l(Object(source)).forEach(function(key) {
|
|
5643
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
5644
|
+
});
|
|
5645
|
+
}
|
|
5646
|
+
return target;
|
|
5647
|
+
}
|
|
5617
5648
|
function _object_without_properties$d(source, excluded) {
|
|
5618
5649
|
if (source == null) return {};
|
|
5619
5650
|
var target = {}, sourceKeys, key, i;
|
|
@@ -5657,10 +5688,16 @@ function AlertDialog(_0) {
|
|
|
5657
5688
|
}, props));
|
|
5658
5689
|
}
|
|
5659
5690
|
function AlertDialogPortal(_0) {
|
|
5660
|
-
|
|
5661
|
-
|
|
5691
|
+
var container = _0.container, props = _object_without_properties$d(_0, [
|
|
5692
|
+
"container"
|
|
5693
|
+
]);
|
|
5694
|
+
var _ref;
|
|
5695
|
+
var inheritedContainer = usePortalContainer();
|
|
5696
|
+
return /*#__PURE__*/ jsx(AlertDialog$1.Portal, _object_spread_props$l(_object_spread$q({
|
|
5662
5697
|
"data-slot": "alert-dialog-portal"
|
|
5663
|
-
}, props)
|
|
5698
|
+
}, props), {
|
|
5699
|
+
container: (_ref = container !== null && container !== void 0 ? container : inheritedContainer) !== null && _ref !== void 0 ? _ref : undefined
|
|
5700
|
+
}));
|
|
5664
5701
|
}
|
|
5665
5702
|
function AlertDialogOverlay(_0) {
|
|
5666
5703
|
var className = _0.className, props = _object_without_properties$d(_0, [
|
|
@@ -5851,12 +5888,12 @@ function Badge(_0) {
|
|
|
5851
5888
|
}, props));
|
|
5852
5889
|
}
|
|
5853
5890
|
|
|
5854
|
-
function _array_like_to_array$
|
|
5891
|
+
function _array_like_to_array$A(arr, len) {
|
|
5855
5892
|
if (len == null || len > arr.length) len = arr.length;
|
|
5856
5893
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
5857
5894
|
return arr2;
|
|
5858
5895
|
}
|
|
5859
|
-
function _array_with_holes$
|
|
5896
|
+
function _array_with_holes$w(arr) {
|
|
5860
5897
|
if (Array.isArray(arr)) return arr;
|
|
5861
5898
|
}
|
|
5862
5899
|
function _define_property$s(obj, key, value) {
|
|
@@ -5886,7 +5923,7 @@ function _extends$2() {
|
|
|
5886
5923
|
};
|
|
5887
5924
|
return _extends$2.apply(this, arguments);
|
|
5888
5925
|
}
|
|
5889
|
-
function _iterable_to_array_limit$
|
|
5926
|
+
function _iterable_to_array_limit$w(arr, i) {
|
|
5890
5927
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
5891
5928
|
if (_i == null) return;
|
|
5892
5929
|
var _arr = [];
|
|
@@ -5910,7 +5947,7 @@ function _iterable_to_array_limit$v(arr, i) {
|
|
|
5910
5947
|
}
|
|
5911
5948
|
return _arr;
|
|
5912
5949
|
}
|
|
5913
|
-
function _non_iterable_rest$
|
|
5950
|
+
function _non_iterable_rest$w() {
|
|
5914
5951
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
5915
5952
|
}
|
|
5916
5953
|
function _object_destructuring_empty$2(o) {
|
|
@@ -5987,16 +6024,16 @@ function _object_without_properties_loose$b(source, excluded) {
|
|
|
5987
6024
|
}
|
|
5988
6025
|
return target;
|
|
5989
6026
|
}
|
|
5990
|
-
function _sliced_to_array$
|
|
5991
|
-
return _array_with_holes$
|
|
6027
|
+
function _sliced_to_array$w(arr, i) {
|
|
6028
|
+
return _array_with_holes$w(arr) || _iterable_to_array_limit$w(arr, i) || _unsupported_iterable_to_array$A(arr, i) || _non_iterable_rest$w();
|
|
5992
6029
|
}
|
|
5993
|
-
function _unsupported_iterable_to_array$
|
|
6030
|
+
function _unsupported_iterable_to_array$A(o, minLen) {
|
|
5994
6031
|
if (!o) return;
|
|
5995
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
6032
|
+
if (typeof o === "string") return _array_like_to_array$A(o, minLen);
|
|
5996
6033
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
5997
6034
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
5998
6035
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
5999
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
6036
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$A(o, minLen);
|
|
6000
6037
|
}
|
|
6001
6038
|
function Dialog(_0) {
|
|
6002
6039
|
_object_destructuring_empty$2(_0); var props = _extends$2({}, _0);
|
|
@@ -6005,10 +6042,16 @@ function Dialog(_0) {
|
|
|
6005
6042
|
}, props));
|
|
6006
6043
|
}
|
|
6007
6044
|
function DialogPortal(_0) {
|
|
6008
|
-
|
|
6009
|
-
|
|
6045
|
+
var container = _0.container, props = _object_without_properties$b(_0, [
|
|
6046
|
+
"container"
|
|
6047
|
+
]);
|
|
6048
|
+
var _ref;
|
|
6049
|
+
var inheritedContainer = usePortalContainer();
|
|
6050
|
+
return /*#__PURE__*/ jsx(Dialog$1.Portal, _object_spread_props$k(_object_spread$o({
|
|
6010
6051
|
"data-slot": "dialog-portal"
|
|
6011
|
-
}, props)
|
|
6052
|
+
}, props), {
|
|
6053
|
+
container: (_ref = container !== null && container !== void 0 ? container : inheritedContainer) !== null && _ref !== void 0 ? _ref : undefined
|
|
6054
|
+
}));
|
|
6012
6055
|
}
|
|
6013
6056
|
function DialogOverlay(_0) {
|
|
6014
6057
|
var className = _0.className, props = _object_without_properties$b(_0, [
|
|
@@ -6026,7 +6069,7 @@ function DialogContent(_0) {
|
|
|
6026
6069
|
"showCloseButton",
|
|
6027
6070
|
"maximizable"
|
|
6028
6071
|
]);
|
|
6029
|
-
var _React_useState = _sliced_to_array$
|
|
6072
|
+
var _React_useState = _sliced_to_array$w(React.useState(false), 2), isMaximized = _React_useState[0], setIsMaximized = _React_useState[1];
|
|
6030
6073
|
return /*#__PURE__*/ jsxs(DialogPortal, {
|
|
6031
6074
|
children: [
|
|
6032
6075
|
/*#__PURE__*/ jsx(DialogOverlay, {}),
|
|
@@ -6255,13 +6298,17 @@ function SelectTrigger(_0) {
|
|
|
6255
6298
|
}));
|
|
6256
6299
|
}
|
|
6257
6300
|
function SelectContent(_0) {
|
|
6258
|
-
var className = _0.className, children = _0.children, _0_position = _0.position, position = _0_position === void 0 ? 'item-aligned' : _0_position, _0_align = _0.align, align = _0_align === void 0 ? 'center' : _0_align, props = _object_without_properties$a(_0, [
|
|
6301
|
+
var className = _0.className, children = _0.children, _0_position = _0.position, position = _0_position === void 0 ? 'item-aligned' : _0_position, _0_align = _0.align, align = _0_align === void 0 ? 'center' : _0_align, container = _0.container, props = _object_without_properties$a(_0, [
|
|
6259
6302
|
"className",
|
|
6260
6303
|
"children",
|
|
6261
6304
|
"position",
|
|
6262
|
-
"align"
|
|
6305
|
+
"align",
|
|
6306
|
+
"container"
|
|
6263
6307
|
]);
|
|
6308
|
+
var _ref;
|
|
6309
|
+
var inheritedContainer = usePortalContainer();
|
|
6264
6310
|
return /*#__PURE__*/ jsx(Select$1.Portal, {
|
|
6311
|
+
container: (_ref = container !== null && container !== void 0 ? container : inheritedContainer) !== null && _ref !== void 0 ? _ref : undefined,
|
|
6265
6312
|
children: /*#__PURE__*/ jsxs(Select$1.Content, _object_spread_props$j(_object_spread$n({
|
|
6266
6313
|
"data-slot": "select-content",
|
|
6267
6314
|
"data-align-trigger": position === 'item-aligned',
|
|
@@ -6646,12 +6693,16 @@ function TooltipTrigger(_0) {
|
|
|
6646
6693
|
}, props));
|
|
6647
6694
|
}
|
|
6648
6695
|
function TooltipContent(_0) {
|
|
6649
|
-
var className = _0.className, _0_sideOffset = _0.sideOffset, sideOffset = _0_sideOffset === void 0 ? 4 : _0_sideOffset, children = _0.children, props = _object_without_properties$7(_0, [
|
|
6696
|
+
var className = _0.className, _0_sideOffset = _0.sideOffset, sideOffset = _0_sideOffset === void 0 ? 4 : _0_sideOffset, children = _0.children, container = _0.container, props = _object_without_properties$7(_0, [
|
|
6650
6697
|
"className",
|
|
6651
6698
|
"sideOffset",
|
|
6652
|
-
"children"
|
|
6699
|
+
"children",
|
|
6700
|
+
"container"
|
|
6653
6701
|
]);
|
|
6702
|
+
var _ref;
|
|
6703
|
+
var inheritedContainer = usePortalContainer();
|
|
6654
6704
|
return /*#__PURE__*/ jsx(Tooltip$1.Portal, {
|
|
6705
|
+
container: (_ref = container !== null && container !== void 0 ? container : inheritedContainer) !== null && _ref !== void 0 ? _ref : undefined,
|
|
6655
6706
|
children: /*#__PURE__*/ jsxs(Tooltip$1.Content, _object_spread_props$i(_object_spread$k({
|
|
6656
6707
|
"data-slot": "tooltip-content",
|
|
6657
6708
|
sideOffset: sideOffset,
|
|
@@ -6742,16 +6793,16 @@ var RoomPlatformRuntimeErrorCode = {
|
|
|
6742
6793
|
LIVEKIT_TOKEN_EXPIRED: 'LIVEKIT_TOKEN_EXPIRED'
|
|
6743
6794
|
};
|
|
6744
6795
|
|
|
6745
|
-
function _array_like_to_array$
|
|
6796
|
+
function _array_like_to_array$z(arr, len) {
|
|
6746
6797
|
if (len == null || len > arr.length) len = arr.length;
|
|
6747
6798
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
6748
6799
|
return arr2;
|
|
6749
6800
|
}
|
|
6750
|
-
function _array_with_holes$
|
|
6801
|
+
function _array_with_holes$v(arr) {
|
|
6751
6802
|
if (Array.isArray(arr)) return arr;
|
|
6752
6803
|
}
|
|
6753
6804
|
function _array_without_holes$d(arr) {
|
|
6754
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
6805
|
+
if (Array.isArray(arr)) return _array_like_to_array$z(arr);
|
|
6755
6806
|
}
|
|
6756
6807
|
function _assert_this_initialized$1(self) {
|
|
6757
6808
|
if (self === void 0) {
|
|
@@ -6859,7 +6910,7 @@ function _is_native_function$1(fn) {
|
|
|
6859
6910
|
function _iterable_to_array$d(iter) {
|
|
6860
6911
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
6861
6912
|
}
|
|
6862
|
-
function _iterable_to_array_limit$
|
|
6913
|
+
function _iterable_to_array_limit$v(arr, i) {
|
|
6863
6914
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
6864
6915
|
if (_i == null) return;
|
|
6865
6916
|
var _arr = [];
|
|
@@ -6883,7 +6934,7 @@ function _iterable_to_array_limit$u(arr, i) {
|
|
|
6883
6934
|
}
|
|
6884
6935
|
return _arr;
|
|
6885
6936
|
}
|
|
6886
|
-
function _non_iterable_rest$
|
|
6937
|
+
function _non_iterable_rest$v() {
|
|
6887
6938
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
6888
6939
|
}
|
|
6889
6940
|
function _non_iterable_spread$d() {
|
|
@@ -6936,23 +6987,23 @@ function _set_prototype_of$1(o, p) {
|
|
|
6936
6987
|
};
|
|
6937
6988
|
return _set_prototype_of$1(o, p);
|
|
6938
6989
|
}
|
|
6939
|
-
function _sliced_to_array$
|
|
6940
|
-
return _array_with_holes$
|
|
6990
|
+
function _sliced_to_array$v(arr, i) {
|
|
6991
|
+
return _array_with_holes$v(arr) || _iterable_to_array_limit$v(arr, i) || _unsupported_iterable_to_array$z(arr, i) || _non_iterable_rest$v();
|
|
6941
6992
|
}
|
|
6942
6993
|
function _to_consumable_array$d(arr) {
|
|
6943
|
-
return _array_without_holes$d(arr) || _iterable_to_array$d(arr) || _unsupported_iterable_to_array$
|
|
6994
|
+
return _array_without_holes$d(arr) || _iterable_to_array$d(arr) || _unsupported_iterable_to_array$z(arr) || _non_iterable_spread$d();
|
|
6944
6995
|
}
|
|
6945
6996
|
function _type_of$a(obj) {
|
|
6946
6997
|
"@swc/helpers - typeof";
|
|
6947
6998
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
6948
6999
|
}
|
|
6949
|
-
function _unsupported_iterable_to_array$
|
|
7000
|
+
function _unsupported_iterable_to_array$z(o, minLen) {
|
|
6950
7001
|
if (!o) return;
|
|
6951
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
7002
|
+
if (typeof o === "string") return _array_like_to_array$z(o, minLen);
|
|
6952
7003
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
6953
7004
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
6954
7005
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
6955
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
7006
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$z(o, minLen);
|
|
6956
7007
|
}
|
|
6957
7008
|
function _wrap_native_super$1(Class) {
|
|
6958
7009
|
var _cache = typeof Map === "function" ? new Map() : undefined;
|
|
@@ -7126,7 +7177,7 @@ var createIdempotencyKey$1 = function() {
|
|
|
7126
7177
|
var actionPendingKey = function(name, payload) {
|
|
7127
7178
|
if (!payload) return name;
|
|
7128
7179
|
return "".concat(name, ":").concat(JSON.stringify(Object.entries(payload).sort(function(param, param1) {
|
|
7129
|
-
var _param = _sliced_to_array$
|
|
7180
|
+
var _param = _sliced_to_array$v(param, 1), left = _param[0], _param1 = _sliced_to_array$v(param1, 1), right = _param1[0];
|
|
7130
7181
|
return left.localeCompare(right);
|
|
7131
7182
|
})));
|
|
7132
7183
|
};
|
|
@@ -7231,21 +7282,21 @@ var activeDevicesStateOf = function(room) {
|
|
|
7231
7282
|
};
|
|
7232
7283
|
function RoomPlatformProvider(param) {
|
|
7233
7284
|
var apiBaseUrl = param.apiBaseUrl, children = param.children, launchToken = param.launchToken, onError = param.onError, onLifecycleEvent = param.onLifecycleEvent, onLaunchTicketRequired = param.onLaunchTicketRequired;
|
|
7234
|
-
var _useState = _sliced_to_array$
|
|
7235
|
-
var _useState1 = _sliced_to_array$
|
|
7236
|
-
var _useState2 = _sliced_to_array$
|
|
7237
|
-
var _useState3 = _sliced_to_array$
|
|
7238
|
-
var _useState4 = _sliced_to_array$
|
|
7239
|
-
var _useState5 = _sliced_to_array$
|
|
7240
|
-
var _useState6 = _sliced_to_array$
|
|
7241
|
-
var _useState7 = _sliced_to_array$
|
|
7242
|
-
var _useState8 = _sliced_to_array$
|
|
7243
|
-
var _useState9 = _sliced_to_array$
|
|
7244
|
-
var _useState10 = _sliced_to_array$
|
|
7245
|
-
var _useState11 = _sliced_to_array$
|
|
7246
|
-
var _useState12 = _sliced_to_array$
|
|
7247
|
-
var _useState13 = _sliced_to_array$
|
|
7248
|
-
var _useState14 = _sliced_to_array$
|
|
7285
|
+
var _useState = _sliced_to_array$v(useState(), 2), access = _useState[0], setAccess = _useState[1];
|
|
7286
|
+
var _useState1 = _sliced_to_array$v(useState(emptyActiveDevices), 2), activeDevices = _useState1[0], setActiveDevices = _useState1[1];
|
|
7287
|
+
var _useState2 = _sliced_to_array$v(useState(), 2), actionError = _useState2[0], setActionError = _useState2[1];
|
|
7288
|
+
var _useState3 = _sliced_to_array$v(useState(), 2), controlState = _useState3[0], setControlState = _useState3[1];
|
|
7289
|
+
var _useState4 = _sliced_to_array$v(useState(), 2), error = _useState4[0], setError = _useState4[1];
|
|
7290
|
+
var _useState5 = _sliced_to_array$v(useState(null), 2), localCameraTrack = _useState5[0], setLocalCameraTrack = _useState5[1];
|
|
7291
|
+
var _useState6 = _sliced_to_array$v(useState(null), 2), localPreviewTrack = _useState6[0], setLocalPreviewTrack = _useState6[1];
|
|
7292
|
+
var _useState7 = _sliced_to_array$v(useState(emptyLocalMediaState), 2), localMedia = _useState7[0], setLocalMedia = _useState7[1];
|
|
7293
|
+
var _useState8 = _sliced_to_array$v(useState(), 2), privateRoom = _useState8[0], setPrivateRoom = _useState8[1];
|
|
7294
|
+
var _useState9 = _sliced_to_array$v(useState(), 2), privateRoomConnection = _useState9[0], setPrivateRoomConnection = _useState9[1];
|
|
7295
|
+
var _useState10 = _sliced_to_array$v(useState(false), 2), privateMediaRestorePending = _useState10[0], setPrivateMediaRestorePending = _useState10[1];
|
|
7296
|
+
var _useState11 = _sliced_to_array$v(useState([]), 2), pendingActionKeys = _useState11[0], setPendingActionKeys = _useState11[1];
|
|
7297
|
+
var _useState12 = _sliced_to_array$v(useState([]), 2), pendingLocalMediaKinds = _useState12[0], setPendingLocalMediaKinds = _useState12[1];
|
|
7298
|
+
var _useState13 = _sliced_to_array$v(useState(null), 2), room = _useState13[0], setRoom = _useState13[1];
|
|
7299
|
+
var _useState14 = _sliced_to_array$v(useState('connecting'), 2), status = _useState14[0], setStatus = _useState14[1];
|
|
7249
7300
|
var isMountedRef = useRef(false);
|
|
7250
7301
|
var accessRef = useRef(undefined);
|
|
7251
7302
|
var controlStateRef = useRef(undefined);
|
|
@@ -8652,12 +8703,46 @@ function useRoomPlatform() {
|
|
|
8652
8703
|
return context;
|
|
8653
8704
|
}
|
|
8654
8705
|
|
|
8655
|
-
|
|
8706
|
+
var RoomPlatformToastContext = /*#__PURE__*/ createContext({
|
|
8707
|
+
error: function(message) {
|
|
8708
|
+
return toast.error(message);
|
|
8709
|
+
}
|
|
8710
|
+
});
|
|
8711
|
+
function RoomPlatformToastProvider(param) {
|
|
8712
|
+
var children = param.children;
|
|
8713
|
+
var portalContainer = usePortalContainer();
|
|
8714
|
+
var toasterId = useId();
|
|
8715
|
+
var roomPlatformToast = useMemo(function() {
|
|
8716
|
+
return {
|
|
8717
|
+
error: function(message) {
|
|
8718
|
+
return toast.error(message, {
|
|
8719
|
+
toasterId: toasterId
|
|
8720
|
+
});
|
|
8721
|
+
}
|
|
8722
|
+
};
|
|
8723
|
+
}, [
|
|
8724
|
+
toasterId
|
|
8725
|
+
]);
|
|
8726
|
+
return /*#__PURE__*/ jsxs(RoomPlatformToastContext.Provider, {
|
|
8727
|
+
value: roomPlatformToast,
|
|
8728
|
+
children: [
|
|
8729
|
+
children,
|
|
8730
|
+
portalContainer ? /*#__PURE__*/ createPortal(/*#__PURE__*/ jsx(Toaster, {
|
|
8731
|
+
id: toasterId
|
|
8732
|
+
}), portalContainer) : null
|
|
8733
|
+
]
|
|
8734
|
+
});
|
|
8735
|
+
}
|
|
8736
|
+
function useRoomPlatformToast() {
|
|
8737
|
+
return useContext(RoomPlatformToastContext);
|
|
8738
|
+
}
|
|
8739
|
+
|
|
8740
|
+
function _array_like_to_array$y(arr, len) {
|
|
8656
8741
|
if (len == null || len > arr.length) len = arr.length;
|
|
8657
8742
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
8658
8743
|
return arr2;
|
|
8659
8744
|
}
|
|
8660
|
-
function _array_with_holes$
|
|
8745
|
+
function _array_with_holes$u(arr) {
|
|
8661
8746
|
if (Array.isArray(arr)) return arr;
|
|
8662
8747
|
}
|
|
8663
8748
|
function asyncGeneratorStep$l(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -8689,7 +8774,7 @@ function _async_to_generator$l(fn) {
|
|
|
8689
8774
|
});
|
|
8690
8775
|
};
|
|
8691
8776
|
}
|
|
8692
|
-
function _iterable_to_array_limit$
|
|
8777
|
+
function _iterable_to_array_limit$u(arr, i) {
|
|
8693
8778
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
8694
8779
|
if (_i == null) return;
|
|
8695
8780
|
var _arr = [];
|
|
@@ -8713,19 +8798,19 @@ function _iterable_to_array_limit$t(arr, i) {
|
|
|
8713
8798
|
}
|
|
8714
8799
|
return _arr;
|
|
8715
8800
|
}
|
|
8716
|
-
function _non_iterable_rest$
|
|
8801
|
+
function _non_iterable_rest$u() {
|
|
8717
8802
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
8718
8803
|
}
|
|
8719
|
-
function _sliced_to_array$
|
|
8720
|
-
return _array_with_holes$
|
|
8804
|
+
function _sliced_to_array$u(arr, i) {
|
|
8805
|
+
return _array_with_holes$u(arr) || _iterable_to_array_limit$u(arr, i) || _unsupported_iterable_to_array$y(arr, i) || _non_iterable_rest$u();
|
|
8721
8806
|
}
|
|
8722
|
-
function _unsupported_iterable_to_array$
|
|
8807
|
+
function _unsupported_iterable_to_array$y(o, minLen) {
|
|
8723
8808
|
if (!o) return;
|
|
8724
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
8809
|
+
if (typeof o === "string") return _array_like_to_array$y(o, minLen);
|
|
8725
8810
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
8726
8811
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
8727
8812
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
8728
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
8813
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$y(o, minLen);
|
|
8729
8814
|
}
|
|
8730
8815
|
function _ts_generator$l(thisArg, body) {
|
|
8731
8816
|
var f, y, t, _ = {
|
|
@@ -8880,9 +8965,9 @@ function useRoomPlatformPrivateRoom() {
|
|
|
8880
8965
|
var _useRoomPlatformPrivateRoomContext = useRoomPlatformPrivateRoomContext(), projectedPrivateRoom = _useRoomPlatformPrivateRoomContext.privateRoom, projectedPrivateRoomConnection = _useRoomPlatformPrivateRoomContext.privateRoomConnection;
|
|
8881
8966
|
var privateRoom = isValidPrivateRoomProjection(projectedPrivateRoom) ? projectedPrivateRoom : undefined;
|
|
8882
8967
|
var privateRoomConnection = privateRoom && isValidPrivateRoomConnection(projectedPrivateRoomConnection, privateRoom) ? projectedPrivateRoomConnection : undefined;
|
|
8883
|
-
var _useState = _sliced_to_array$
|
|
8884
|
-
var _useState1 = _sliced_to_array$
|
|
8885
|
-
var _useState2 = _sliced_to_array$
|
|
8968
|
+
var _useState = _sliced_to_array$u(useState(false), 2), isAcceptingPrivateRoom = _useState[0], setIsAcceptingPrivateRoom = _useState[1];
|
|
8969
|
+
var _useState1 = _sliced_to_array$u(useState(false), 2), isEndingPrivateRoom = _useState1[0], setIsEndingPrivateRoom = _useState1[1];
|
|
8970
|
+
var _useState2 = _sliced_to_array$u(useState(), 2), privateRoomReturnedNoticeId = _useState2[0], setPrivateRoomReturnedNoticeId = _useState2[1];
|
|
8886
8971
|
var actorExternalId = externalActorIdFromMetadata$1(room === null || room === void 0 ? void 0 : room.localParticipant.metadata);
|
|
8887
8972
|
var isCaller = Boolean(actorExternalId && (privateRoom === null || privateRoom === void 0 ? void 0 : privateRoom.callerExternalActorId) === actorExternalId);
|
|
8888
8973
|
var isStudent = Boolean(actorExternalId && (privateRoom === null || privateRoom === void 0 ? void 0 : privateRoom.studentExternalActorId) === actorExternalId);
|
|
@@ -9133,21 +9218,21 @@ function useRoomPlatformPrivateRoomPendingState() {
|
|
|
9133
9218
|
};
|
|
9134
9219
|
}
|
|
9135
9220
|
|
|
9136
|
-
function _array_like_to_array$
|
|
9221
|
+
function _array_like_to_array$x(arr, len) {
|
|
9137
9222
|
if (len == null || len > arr.length) len = arr.length;
|
|
9138
9223
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
9139
9224
|
return arr2;
|
|
9140
9225
|
}
|
|
9141
|
-
function _array_with_holes$
|
|
9226
|
+
function _array_with_holes$t(arr) {
|
|
9142
9227
|
if (Array.isArray(arr)) return arr;
|
|
9143
9228
|
}
|
|
9144
9229
|
function _array_without_holes$c(arr) {
|
|
9145
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
9230
|
+
if (Array.isArray(arr)) return _array_like_to_array$x(arr);
|
|
9146
9231
|
}
|
|
9147
9232
|
function _iterable_to_array$c(iter) {
|
|
9148
9233
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
9149
9234
|
}
|
|
9150
|
-
function _iterable_to_array_limit$
|
|
9235
|
+
function _iterable_to_array_limit$t(arr, i) {
|
|
9151
9236
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
9152
9237
|
if (_i == null) return;
|
|
9153
9238
|
var _arr = [];
|
|
@@ -9171,29 +9256,29 @@ function _iterable_to_array_limit$s(arr, i) {
|
|
|
9171
9256
|
}
|
|
9172
9257
|
return _arr;
|
|
9173
9258
|
}
|
|
9174
|
-
function _non_iterable_rest$
|
|
9259
|
+
function _non_iterable_rest$t() {
|
|
9175
9260
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
9176
9261
|
}
|
|
9177
9262
|
function _non_iterable_spread$c() {
|
|
9178
9263
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
9179
9264
|
}
|
|
9180
|
-
function _sliced_to_array$
|
|
9181
|
-
return _array_with_holes$
|
|
9265
|
+
function _sliced_to_array$t(arr, i) {
|
|
9266
|
+
return _array_with_holes$t(arr) || _iterable_to_array_limit$t(arr, i) || _unsupported_iterable_to_array$x(arr, i) || _non_iterable_rest$t();
|
|
9182
9267
|
}
|
|
9183
9268
|
function _to_consumable_array$c(arr) {
|
|
9184
|
-
return _array_without_holes$c(arr) || _iterable_to_array$c(arr) || _unsupported_iterable_to_array$
|
|
9269
|
+
return _array_without_holes$c(arr) || _iterable_to_array$c(arr) || _unsupported_iterable_to_array$x(arr) || _non_iterable_spread$c();
|
|
9185
9270
|
}
|
|
9186
9271
|
function _type_of$9(obj) {
|
|
9187
9272
|
"@swc/helpers - typeof";
|
|
9188
9273
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
9189
9274
|
}
|
|
9190
|
-
function _unsupported_iterable_to_array$
|
|
9275
|
+
function _unsupported_iterable_to_array$x(o, minLen) {
|
|
9191
9276
|
if (!o) return;
|
|
9192
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
9277
|
+
if (typeof o === "string") return _array_like_to_array$x(o, minLen);
|
|
9193
9278
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
9194
9279
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
9195
9280
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
9196
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
9281
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$x(o, minLen);
|
|
9197
9282
|
}
|
|
9198
9283
|
var externalActorIdFromMetadata = function(metadata) {
|
|
9199
9284
|
if (!metadata) return undefined;
|
|
@@ -9241,7 +9326,7 @@ var snapshotPresence = function(room, controlState) {
|
|
|
9241
9326
|
};
|
|
9242
9327
|
function useRoomPresence() {
|
|
9243
9328
|
var _useRoomPlatform = useRoomPlatform(), controlState = _useRoomPlatform.controlState, room = _useRoomPlatform.room;
|
|
9244
|
-
var _useState = _sliced_to_array$
|
|
9329
|
+
var _useState = _sliced_to_array$t(useState(function() {
|
|
9245
9330
|
return snapshotPresence(room, controlState);
|
|
9246
9331
|
}), 2), presence = _useState[0], setPresence = _useState[1];
|
|
9247
9332
|
useEffect(function() {
|
|
@@ -9282,15 +9367,15 @@ function useRoomPresence() {
|
|
|
9282
9367
|
return presence;
|
|
9283
9368
|
}
|
|
9284
9369
|
|
|
9285
|
-
function _array_like_to_array$
|
|
9370
|
+
function _array_like_to_array$w(arr, len) {
|
|
9286
9371
|
if (len == null || len > arr.length) len = arr.length;
|
|
9287
9372
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
9288
9373
|
return arr2;
|
|
9289
9374
|
}
|
|
9290
|
-
function _array_with_holes$
|
|
9375
|
+
function _array_with_holes$s(arr) {
|
|
9291
9376
|
if (Array.isArray(arr)) return arr;
|
|
9292
9377
|
}
|
|
9293
|
-
function _iterable_to_array_limit$
|
|
9378
|
+
function _iterable_to_array_limit$s(arr, i) {
|
|
9294
9379
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
9295
9380
|
if (_i == null) return;
|
|
9296
9381
|
var _arr = [];
|
|
@@ -9314,19 +9399,19 @@ function _iterable_to_array_limit$r(arr, i) {
|
|
|
9314
9399
|
}
|
|
9315
9400
|
return _arr;
|
|
9316
9401
|
}
|
|
9317
|
-
function _non_iterable_rest$
|
|
9402
|
+
function _non_iterable_rest$s() {
|
|
9318
9403
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
9319
9404
|
}
|
|
9320
|
-
function _sliced_to_array$
|
|
9321
|
-
return _array_with_holes$
|
|
9405
|
+
function _sliced_to_array$s(arr, i) {
|
|
9406
|
+
return _array_with_holes$s(arr) || _iterable_to_array_limit$s(arr, i) || _unsupported_iterable_to_array$w(arr, i) || _non_iterable_rest$s();
|
|
9322
9407
|
}
|
|
9323
|
-
function _unsupported_iterable_to_array$
|
|
9408
|
+
function _unsupported_iterable_to_array$w(o, minLen) {
|
|
9324
9409
|
if (!o) return;
|
|
9325
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
9410
|
+
if (typeof o === "string") return _array_like_to_array$w(o, minLen);
|
|
9326
9411
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
9327
9412
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
9328
9413
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
9329
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
9414
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$w(o, minLen);
|
|
9330
9415
|
}
|
|
9331
9416
|
function RoomParticipantActions(param) {
|
|
9332
9417
|
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;
|
|
@@ -9340,7 +9425,8 @@ function RoomParticipantActions(param) {
|
|
|
9340
9425
|
var resolvedIsLocal = (_ref = isLocal !== null && isLocal !== void 0 ? isLocal : mappedPresence === null || mappedPresence === void 0 ? void 0 : mappedPresence.isLocal) !== null && _ref !== void 0 ? _ref : false;
|
|
9341
9426
|
var resolvedIsOnline = isOnline !== null && isOnline !== void 0 ? isOnline : Boolean(mappedPresence);
|
|
9342
9427
|
var _useRoomPlatformPrivateRoom = useRoomPlatformPrivateRoom(), cancelPrivateRoom = _useRoomPlatformPrivateRoom.cancelPrivateRoom, currentPrivateRoomOperation = _useRoomPlatformPrivateRoom.currentPrivateRoomOperation;
|
|
9343
|
-
var
|
|
9428
|
+
var roomPlatformToast = useRoomPlatformToast();
|
|
9429
|
+
var _useState = _sliced_to_array$s(useState(false), 2), privateCallHovered = _useState[0], setPrivateCallHovered = _useState[1];
|
|
9344
9430
|
var actionPayload = resolvedParticipantIdentity ? {
|
|
9345
9431
|
participantIdentity: resolvedParticipantIdentity
|
|
9346
9432
|
} : undefined;
|
|
@@ -9354,19 +9440,19 @@ function RoomParticipantActions(param) {
|
|
|
9354
9440
|
var setActiveSpeaker = function() {
|
|
9355
9441
|
if (!actionPayload || isSettingActiveSpeakerPending) return;
|
|
9356
9442
|
void performAction(RoomPlatformAction.SPEAKER_SET, actionPayload).catch(function() {
|
|
9357
|
-
|
|
9443
|
+
roomPlatformToast.error('Không gọi được học sinh phát biểu. Vui lòng thử lại.');
|
|
9358
9444
|
});
|
|
9359
9445
|
};
|
|
9360
9446
|
var startPrivateRoom = function() {
|
|
9361
9447
|
if (!canInvitePrivateRoom || !actionPayload || isInvitingPrivateRoom) return;
|
|
9362
9448
|
void performAction(RoomPlatformAction.PRIVATE_ROOM_INVITE, actionPayload).catch(function() {
|
|
9363
|
-
|
|
9449
|
+
roomPlatformToast.error('Không thể gọi riêng học sinh này. Vui lòng thử lại.');
|
|
9364
9450
|
});
|
|
9365
9451
|
};
|
|
9366
9452
|
var cancelPrivateRoomCall = function() {
|
|
9367
9453
|
if (!canCancelPrivateRoom) return;
|
|
9368
9454
|
void cancelPrivateRoom().catch(function() {
|
|
9369
|
-
|
|
9455
|
+
roomPlatformToast.error('Không hủy được cuộc gọi riêng. Vui lòng thử lại.');
|
|
9370
9456
|
});
|
|
9371
9457
|
};
|
|
9372
9458
|
return /*#__PURE__*/ jsxs("div", {
|
|
@@ -9734,12 +9820,12 @@ function RoomPlatformActiveSpeaker(param) {
|
|
|
9734
9820
|
}) : null;
|
|
9735
9821
|
}
|
|
9736
9822
|
|
|
9737
|
-
function _array_like_to_array$
|
|
9823
|
+
function _array_like_to_array$v(arr, len) {
|
|
9738
9824
|
if (len == null || len > arr.length) len = arr.length;
|
|
9739
9825
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
9740
9826
|
return arr2;
|
|
9741
9827
|
}
|
|
9742
|
-
function _array_with_holes$
|
|
9828
|
+
function _array_with_holes$r(arr) {
|
|
9743
9829
|
if (Array.isArray(arr)) return arr;
|
|
9744
9830
|
}
|
|
9745
9831
|
function _instanceof$2(left, right) {
|
|
@@ -9749,7 +9835,7 @@ function _instanceof$2(left, right) {
|
|
|
9749
9835
|
return left instanceof right;
|
|
9750
9836
|
}
|
|
9751
9837
|
}
|
|
9752
|
-
function _iterable_to_array_limit$
|
|
9838
|
+
function _iterable_to_array_limit$r(arr, i) {
|
|
9753
9839
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
9754
9840
|
if (_i == null) return;
|
|
9755
9841
|
var _arr = [];
|
|
@@ -9773,19 +9859,19 @@ function _iterable_to_array_limit$q(arr, i) {
|
|
|
9773
9859
|
}
|
|
9774
9860
|
return _arr;
|
|
9775
9861
|
}
|
|
9776
|
-
function _non_iterable_rest$
|
|
9862
|
+
function _non_iterable_rest$r() {
|
|
9777
9863
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
9778
9864
|
}
|
|
9779
|
-
function _sliced_to_array$
|
|
9780
|
-
return _array_with_holes$
|
|
9865
|
+
function _sliced_to_array$r(arr, i) {
|
|
9866
|
+
return _array_with_holes$r(arr) || _iterable_to_array_limit$r(arr, i) || _unsupported_iterable_to_array$v(arr, i) || _non_iterable_rest$r();
|
|
9781
9867
|
}
|
|
9782
|
-
function _unsupported_iterable_to_array$
|
|
9868
|
+
function _unsupported_iterable_to_array$v(o, minLen) {
|
|
9783
9869
|
if (!o) return;
|
|
9784
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
9870
|
+
if (typeof o === "string") return _array_like_to_array$v(o, minLen);
|
|
9785
9871
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
9786
9872
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
9787
9873
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
9788
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
9874
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$v(o, minLen);
|
|
9789
9875
|
}
|
|
9790
9876
|
var IDLE_TIMEOUT_MS = 15000;
|
|
9791
9877
|
var ROOM_CONTROL_ACTIVITY_SELECTOR = '[data-room-control-activity]';
|
|
@@ -9794,10 +9880,10 @@ var isRoomControlActivityTarget = function(target) {
|
|
|
9794
9880
|
};
|
|
9795
9881
|
function RoomPlatformControlAnchor(param) {
|
|
9796
9882
|
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;
|
|
9797
|
-
var _useState = _sliced_to_array$
|
|
9798
|
-
var _useState1 = _sliced_to_array$
|
|
9799
|
-
var _useState2 = _sliced_to_array$
|
|
9800
|
-
var _useState3 = _sliced_to_array$
|
|
9883
|
+
var _useState = _sliced_to_array$r(useState(true), 2), isVisible = _useState[0], setIsVisible = _useState[1];
|
|
9884
|
+
var _useState1 = _sliced_to_array$r(useState(false), 2), isHovered = _useState1[0], setIsHovered = _useState1[1];
|
|
9885
|
+
var _useState2 = _sliced_to_array$r(useState(false), 2), isFocusWithin = _useState2[0], setIsFocusWithin = _useState2[1];
|
|
9886
|
+
var _useState3 = _sliced_to_array$r(useState(0), 2), activityVersion = _useState3[0], setActivityVersion = _useState3[1];
|
|
9801
9887
|
var anchorRef = useRef(null);
|
|
9802
9888
|
var timerRef = useRef(null);
|
|
9803
9889
|
var focusTimerRef = useRef(null);
|
|
@@ -9931,15 +10017,15 @@ function RoomPlatformControlAnchor(param) {
|
|
|
9931
10017
|
});
|
|
9932
10018
|
}
|
|
9933
10019
|
|
|
9934
|
-
function _array_like_to_array$
|
|
10020
|
+
function _array_like_to_array$u(arr, len) {
|
|
9935
10021
|
if (len == null || len > arr.length) len = arr.length;
|
|
9936
10022
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
9937
10023
|
return arr2;
|
|
9938
10024
|
}
|
|
9939
|
-
function _array_with_holes$
|
|
10025
|
+
function _array_with_holes$q(arr) {
|
|
9940
10026
|
if (Array.isArray(arr)) return arr;
|
|
9941
10027
|
}
|
|
9942
|
-
function _iterable_to_array_limit$
|
|
10028
|
+
function _iterable_to_array_limit$q(arr, i) {
|
|
9943
10029
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
9944
10030
|
if (_i == null) return;
|
|
9945
10031
|
var _arr = [];
|
|
@@ -9963,19 +10049,19 @@ function _iterable_to_array_limit$p(arr, i) {
|
|
|
9963
10049
|
}
|
|
9964
10050
|
return _arr;
|
|
9965
10051
|
}
|
|
9966
|
-
function _non_iterable_rest$
|
|
10052
|
+
function _non_iterable_rest$q() {
|
|
9967
10053
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
9968
10054
|
}
|
|
9969
|
-
function _sliced_to_array$
|
|
9970
|
-
return _array_with_holes$
|
|
10055
|
+
function _sliced_to_array$q(arr, i) {
|
|
10056
|
+
return _array_with_holes$q(arr) || _iterable_to_array_limit$q(arr, i) || _unsupported_iterable_to_array$u(arr, i) || _non_iterable_rest$q();
|
|
9971
10057
|
}
|
|
9972
|
-
function _unsupported_iterable_to_array$
|
|
10058
|
+
function _unsupported_iterable_to_array$u(o, minLen) {
|
|
9973
10059
|
if (!o) return;
|
|
9974
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
10060
|
+
if (typeof o === "string") return _array_like_to_array$u(o, minLen);
|
|
9975
10061
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
9976
10062
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
9977
10063
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
9978
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
10064
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$u(o, minLen);
|
|
9979
10065
|
}
|
|
9980
10066
|
var ALLOWED_MIME_TYPES = [
|
|
9981
10067
|
'image/jpeg',
|
|
@@ -10000,8 +10086,8 @@ function RoomPlatformBackgroundSettings(param) {
|
|
|
10000
10086
|
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;
|
|
10001
10087
|
var _ref;
|
|
10002
10088
|
var _presets_;
|
|
10003
|
-
var _useState = _sliced_to_array$
|
|
10004
|
-
var _useState1 = _sliced_to_array$
|
|
10089
|
+
var _useState = _sliced_to_array$q(useState(null), 2), uploadError = _useState[0], setUploadError = _useState[1];
|
|
10090
|
+
var _useState1 = _sliced_to_array$q(useState(function() {
|
|
10005
10091
|
return backgroundTabFromState(state.mode);
|
|
10006
10092
|
}), 2), activeTab = _useState1[0], setActiveTab = _useState1[1];
|
|
10007
10093
|
var fileInputId = useId();
|
|
@@ -10424,12 +10510,12 @@ var getSelectedDevice = function(devices, selectedValue) {
|
|
|
10424
10510
|
});
|
|
10425
10511
|
};
|
|
10426
10512
|
|
|
10427
|
-
function _array_like_to_array$
|
|
10513
|
+
function _array_like_to_array$t(arr, len) {
|
|
10428
10514
|
if (len == null || len > arr.length) len = arr.length;
|
|
10429
10515
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
10430
10516
|
return arr2;
|
|
10431
10517
|
}
|
|
10432
|
-
function _array_with_holes$
|
|
10518
|
+
function _array_with_holes$p(arr) {
|
|
10433
10519
|
if (Array.isArray(arr)) return arr;
|
|
10434
10520
|
}
|
|
10435
10521
|
function asyncGeneratorStep$k(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -10461,7 +10547,7 @@ function _async_to_generator$k(fn) {
|
|
|
10461
10547
|
});
|
|
10462
10548
|
};
|
|
10463
10549
|
}
|
|
10464
|
-
function _iterable_to_array_limit$
|
|
10550
|
+
function _iterable_to_array_limit$p(arr, i) {
|
|
10465
10551
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
10466
10552
|
if (_i == null) return;
|
|
10467
10553
|
var _arr = [];
|
|
@@ -10485,19 +10571,19 @@ function _iterable_to_array_limit$o(arr, i) {
|
|
|
10485
10571
|
}
|
|
10486
10572
|
return _arr;
|
|
10487
10573
|
}
|
|
10488
|
-
function _non_iterable_rest$
|
|
10574
|
+
function _non_iterable_rest$p() {
|
|
10489
10575
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
10490
10576
|
}
|
|
10491
|
-
function _sliced_to_array$
|
|
10492
|
-
return _array_with_holes$
|
|
10577
|
+
function _sliced_to_array$p(arr, i) {
|
|
10578
|
+
return _array_with_holes$p(arr) || _iterable_to_array_limit$p(arr, i) || _unsupported_iterable_to_array$t(arr, i) || _non_iterable_rest$p();
|
|
10493
10579
|
}
|
|
10494
|
-
function _unsupported_iterable_to_array$
|
|
10580
|
+
function _unsupported_iterable_to_array$t(o, minLen) {
|
|
10495
10581
|
if (!o) return;
|
|
10496
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
10582
|
+
if (typeof o === "string") return _array_like_to_array$t(o, minLen);
|
|
10497
10583
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
10498
10584
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
10499
10585
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
10500
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
10586
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$t(o, minLen);
|
|
10501
10587
|
}
|
|
10502
10588
|
function _ts_generator$k(thisArg, body) {
|
|
10503
10589
|
var f, y, t, _ = {
|
|
@@ -10653,12 +10739,12 @@ function RoomPlatformDeviceSettings(param) {
|
|
|
10653
10739
|
var _useRoomPlatform = useRoomPlatform(), activeDevices = _useRoomPlatform.activeDevices, room = _useRoomPlatform.room, switchActiveDevice = _useRoomPlatform.switchActiveDevice;
|
|
10654
10740
|
var enumerateDevices = (_navigator_mediaDevices = navigator.mediaDevices) === null || _navigator_mediaDevices === void 0 ? void 0 : _navigator_mediaDevices.enumerateDevices;
|
|
10655
10741
|
var canEnumerateDevices = typeof enumerateDevices === 'function';
|
|
10656
|
-
var _useState = _sliced_to_array$
|
|
10657
|
-
var _useState1 = _sliced_to_array$
|
|
10658
|
-
var _useState2 = _sliced_to_array$
|
|
10659
|
-
var _useState3 = _sliced_to_array$
|
|
10660
|
-
var _useState4 = _sliced_to_array$
|
|
10661
|
-
var _useState5 = _sliced_to_array$
|
|
10742
|
+
var _useState = _sliced_to_array$p(useState([]), 2), devices = _useState[0], setDevices = _useState[1];
|
|
10743
|
+
var _useState1 = _sliced_to_array$p(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];
|
|
10744
|
+
var _useState2 = _sliced_to_array$p(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];
|
|
10745
|
+
var _useState3 = _sliced_to_array$p(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];
|
|
10746
|
+
var _useState4 = _sliced_to_array$p(useState(null), 2), deviceApplyError = _useState4[0], setDeviceApplyError = _useState4[1];
|
|
10747
|
+
var _useState5 = _sliced_to_array$p(useState(false), 2), isApplyingDevices = _useState5[0], setIsApplyingDevices = _useState5[1];
|
|
10662
10748
|
var microphones = useMemo(function() {
|
|
10663
10749
|
return devices.filter(function(param) {
|
|
10664
10750
|
var kind = param.kind;
|
|
@@ -10918,12 +11004,12 @@ function RoomPlatformDeviceSettings(param) {
|
|
|
10918
11004
|
});
|
|
10919
11005
|
}
|
|
10920
11006
|
|
|
10921
|
-
function _array_like_to_array$
|
|
11007
|
+
function _array_like_to_array$s(arr, len) {
|
|
10922
11008
|
if (len == null || len > arr.length) len = arr.length;
|
|
10923
11009
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
10924
11010
|
return arr2;
|
|
10925
11011
|
}
|
|
10926
|
-
function _array_with_holes$
|
|
11012
|
+
function _array_with_holes$o(arr) {
|
|
10927
11013
|
if (Array.isArray(arr)) return arr;
|
|
10928
11014
|
}
|
|
10929
11015
|
function asyncGeneratorStep$j(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -10968,7 +11054,7 @@ function _define_property$k(obj, key, value) {
|
|
|
10968
11054
|
}
|
|
10969
11055
|
return obj;
|
|
10970
11056
|
}
|
|
10971
|
-
function _iterable_to_array_limit$
|
|
11057
|
+
function _iterable_to_array_limit$o(arr, i) {
|
|
10972
11058
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
10973
11059
|
if (_i == null) return;
|
|
10974
11060
|
var _arr = [];
|
|
@@ -10992,7 +11078,7 @@ function _iterable_to_array_limit$n(arr, i) {
|
|
|
10992
11078
|
}
|
|
10993
11079
|
return _arr;
|
|
10994
11080
|
}
|
|
10995
|
-
function _non_iterable_rest$
|
|
11081
|
+
function _non_iterable_rest$o() {
|
|
10996
11082
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
10997
11083
|
}
|
|
10998
11084
|
function _object_spread$g(target) {
|
|
@@ -11065,16 +11151,16 @@ function _object_without_properties_loose$5(source, excluded) {
|
|
|
11065
11151
|
}
|
|
11066
11152
|
return target;
|
|
11067
11153
|
}
|
|
11068
|
-
function _sliced_to_array$
|
|
11069
|
-
return _array_with_holes$
|
|
11154
|
+
function _sliced_to_array$o(arr, i) {
|
|
11155
|
+
return _array_with_holes$o(arr) || _iterable_to_array_limit$o(arr, i) || _unsupported_iterable_to_array$s(arr, i) || _non_iterable_rest$o();
|
|
11070
11156
|
}
|
|
11071
|
-
function _unsupported_iterable_to_array$
|
|
11157
|
+
function _unsupported_iterable_to_array$s(o, minLen) {
|
|
11072
11158
|
if (!o) return;
|
|
11073
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
11159
|
+
if (typeof o === "string") return _array_like_to_array$s(o, minLen);
|
|
11074
11160
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
11075
11161
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
11076
11162
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
11077
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
11163
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$s(o, minLen);
|
|
11078
11164
|
}
|
|
11079
11165
|
function _ts_generator$j(thisArg, body) {
|
|
11080
11166
|
var f, y, t, _ = {
|
|
@@ -11223,9 +11309,10 @@ function IconTooltipButton$1(_0) {
|
|
|
11223
11309
|
function RoomPlatformControlBar(param) {
|
|
11224
11310
|
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;
|
|
11225
11311
|
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;
|
|
11226
|
-
var _useState = _sliced_to_array$
|
|
11227
|
-
var _useState1 = _sliced_to_array$
|
|
11228
|
-
var _useState2 = _sliced_to_array$
|
|
11312
|
+
var _useState = _sliced_to_array$o(useState(false), 2), settingsOpen = _useState[0], setSettingsOpen = _useState[1];
|
|
11313
|
+
var _useState1 = _sliced_to_array$o(useState(false), 2), isRequestSpeakPending = _useState1[0], setIsRequestSpeakPending = _useState1[1];
|
|
11314
|
+
var _useState2 = _sliced_to_array$o(useState(false), 2), isCancelSpeakPending = _useState2[0], setIsCancelSpeakPending = _useState2[1];
|
|
11315
|
+
var roomPlatformToast = useRoomPlatformToast();
|
|
11229
11316
|
var currentParticipant = useRoomPresence().find(function(participant) {
|
|
11230
11317
|
return participant.isLocal;
|
|
11231
11318
|
});
|
|
@@ -11262,7 +11349,7 @@ function RoomPlatformControlBar(param) {
|
|
|
11262
11349
|
];
|
|
11263
11350
|
case 3:
|
|
11264
11351
|
_state.sent();
|
|
11265
|
-
|
|
11352
|
+
roomPlatformToast.error('Không gửi được yêu cầu phát biểu. Vui lòng thử lại.');
|
|
11266
11353
|
return [
|
|
11267
11354
|
3,
|
|
11268
11355
|
5
|
|
@@ -11309,7 +11396,7 @@ function RoomPlatformControlBar(param) {
|
|
|
11309
11396
|
];
|
|
11310
11397
|
case 3:
|
|
11311
11398
|
_state.sent();
|
|
11312
|
-
|
|
11399
|
+
roomPlatformToast.error('Không hủy được yêu cầu phát biểu. Vui lòng thử lại.');
|
|
11313
11400
|
return [
|
|
11314
11401
|
3,
|
|
11315
11402
|
5
|
|
@@ -11475,12 +11562,12 @@ function RoomPlatformControlBar(param) {
|
|
|
11475
11562
|
});
|
|
11476
11563
|
}
|
|
11477
11564
|
|
|
11478
|
-
function _array_like_to_array$
|
|
11565
|
+
function _array_like_to_array$r(arr, len) {
|
|
11479
11566
|
if (len == null || len > arr.length) len = arr.length;
|
|
11480
11567
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
11481
11568
|
return arr2;
|
|
11482
11569
|
}
|
|
11483
|
-
function _array_with_holes$
|
|
11570
|
+
function _array_with_holes$n(arr) {
|
|
11484
11571
|
if (Array.isArray(arr)) return arr;
|
|
11485
11572
|
}
|
|
11486
11573
|
function asyncGeneratorStep$i(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -11512,7 +11599,7 @@ function _async_to_generator$i(fn) {
|
|
|
11512
11599
|
});
|
|
11513
11600
|
};
|
|
11514
11601
|
}
|
|
11515
|
-
function _iterable_to_array_limit$
|
|
11602
|
+
function _iterable_to_array_limit$n(arr, i) {
|
|
11516
11603
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
11517
11604
|
if (_i == null) return;
|
|
11518
11605
|
var _arr = [];
|
|
@@ -11536,19 +11623,19 @@ function _iterable_to_array_limit$m(arr, i) {
|
|
|
11536
11623
|
}
|
|
11537
11624
|
return _arr;
|
|
11538
11625
|
}
|
|
11539
|
-
function _non_iterable_rest$
|
|
11626
|
+
function _non_iterable_rest$n() {
|
|
11540
11627
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
11541
11628
|
}
|
|
11542
|
-
function _sliced_to_array$
|
|
11543
|
-
return _array_with_holes$
|
|
11629
|
+
function _sliced_to_array$n(arr, i) {
|
|
11630
|
+
return _array_with_holes$n(arr) || _iterable_to_array_limit$n(arr, i) || _unsupported_iterable_to_array$r(arr, i) || _non_iterable_rest$n();
|
|
11544
11631
|
}
|
|
11545
|
-
function _unsupported_iterable_to_array$
|
|
11632
|
+
function _unsupported_iterable_to_array$r(o, minLen) {
|
|
11546
11633
|
if (!o) return;
|
|
11547
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
11634
|
+
if (typeof o === "string") return _array_like_to_array$r(o, minLen);
|
|
11548
11635
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
11549
11636
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
11550
11637
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
11551
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
11638
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$r(o, minLen);
|
|
11552
11639
|
}
|
|
11553
11640
|
function _ts_generator$i(thisArg, body) {
|
|
11554
11641
|
var f, y, t, _ = {
|
|
@@ -11652,7 +11739,8 @@ function _ts_generator$i(thisArg, body) {
|
|
|
11652
11739
|
function RoomPlatformCurrentOperationStrip(param) {
|
|
11653
11740
|
var activeSpeakerParticipantIdentity = param.activeSpeakerParticipantIdentity, canClearActiveSpeaker = param.canClearActiveSpeaker, isClearingActiveSpeaker = param.isClearingActiveSpeaker, onClearActiveSpeaker = param.onClearActiveSpeaker, currentPrivateRoomOperation = param.currentPrivateRoomOperation, onCancelPrivateRoom = param.onCancelPrivateRoom, participants = param.participants;
|
|
11654
11741
|
var _ref, _ref1;
|
|
11655
|
-
var _useState = _sliced_to_array$
|
|
11742
|
+
var _useState = _sliced_to_array$n(useState(false), 2), isCancelingPrivateRoomOperation = _useState[0], setIsCancelingPrivateRoomOperation = _useState[1];
|
|
11743
|
+
var roomPlatformToast = useRoomPlatformToast();
|
|
11656
11744
|
var activeSpeaker = activeSpeakerParticipantIdentity ? participants.find(function(participant) {
|
|
11657
11745
|
return participant.participantIdentity === activeSpeakerParticipantIdentity;
|
|
11658
11746
|
}) : undefined;
|
|
@@ -11690,7 +11778,7 @@ function RoomPlatformCurrentOperationStrip(param) {
|
|
|
11690
11778
|
];
|
|
11691
11779
|
case 3:
|
|
11692
11780
|
_state.sent();
|
|
11693
|
-
|
|
11781
|
+
roomPlatformToast.error('Không hủy được cuộc gọi riêng. Vui lòng thử lại.');
|
|
11694
11782
|
return [
|
|
11695
11783
|
3,
|
|
11696
11784
|
5
|
|
@@ -11918,15 +12006,15 @@ function RoomPlatformMonitorSidebarVideoTile(props) {
|
|
|
11918
12006
|
return /*#__PURE__*/ jsx(RoomPlatformMonitorVideoTile, _object_spread$f({}, props));
|
|
11919
12007
|
}
|
|
11920
12008
|
|
|
11921
|
-
function _array_like_to_array$
|
|
12009
|
+
function _array_like_to_array$q(arr, len) {
|
|
11922
12010
|
if (len == null || len > arr.length) len = arr.length;
|
|
11923
12011
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
11924
12012
|
return arr2;
|
|
11925
12013
|
}
|
|
11926
|
-
function _array_with_holes$
|
|
12014
|
+
function _array_with_holes$m(arr) {
|
|
11927
12015
|
if (Array.isArray(arr)) return arr;
|
|
11928
12016
|
}
|
|
11929
|
-
function _iterable_to_array_limit$
|
|
12017
|
+
function _iterable_to_array_limit$m(arr, i) {
|
|
11930
12018
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
11931
12019
|
if (_i == null) return;
|
|
11932
12020
|
var _arr = [];
|
|
@@ -11950,19 +12038,19 @@ function _iterable_to_array_limit$l(arr, i) {
|
|
|
11950
12038
|
}
|
|
11951
12039
|
return _arr;
|
|
11952
12040
|
}
|
|
11953
|
-
function _non_iterable_rest$
|
|
12041
|
+
function _non_iterable_rest$m() {
|
|
11954
12042
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
11955
12043
|
}
|
|
11956
|
-
function _sliced_to_array$
|
|
11957
|
-
return _array_with_holes$
|
|
12044
|
+
function _sliced_to_array$m(arr, i) {
|
|
12045
|
+
return _array_with_holes$m(arr) || _iterable_to_array_limit$m(arr, i) || _unsupported_iterable_to_array$q(arr, i) || _non_iterable_rest$m();
|
|
11958
12046
|
}
|
|
11959
|
-
function _unsupported_iterable_to_array$
|
|
12047
|
+
function _unsupported_iterable_to_array$q(o, minLen) {
|
|
11960
12048
|
if (!o) return;
|
|
11961
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
12049
|
+
if (typeof o === "string") return _array_like_to_array$q(o, minLen);
|
|
11962
12050
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
11963
12051
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
11964
12052
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
11965
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
12053
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$q(o, minLen);
|
|
11966
12054
|
}
|
|
11967
12055
|
var hasAvailableTrackMedia$1 = function(param) {
|
|
11968
12056
|
var publication = param.publication;
|
|
@@ -11975,7 +12063,7 @@ var hasAvailableTrackMedia$1 = function(param) {
|
|
|
11975
12063
|
};
|
|
11976
12064
|
function RoomPlatformMonitorStage(param) {
|
|
11977
12065
|
var roster = param.roster, _param_pageSize = param.pageSize, pageSize = _param_pageSize === void 0 ? 12 : _param_pageSize;
|
|
11978
|
-
var _useState = _sliced_to_array$
|
|
12066
|
+
var _useState = _sliced_to_array$m(useState(1), 2), page = _useState[0], setPage = _useState[1];
|
|
11979
12067
|
var cameraTracks = useTracks([
|
|
11980
12068
|
Track.Source.Camera
|
|
11981
12069
|
]);
|
|
@@ -12178,13 +12266,13 @@ function useRoomPlatformMonitorViewer(param) {
|
|
|
12178
12266
|
]);
|
|
12179
12267
|
}
|
|
12180
12268
|
|
|
12181
|
-
function _array_like_to_array$
|
|
12269
|
+
function _array_like_to_array$p(arr, len) {
|
|
12182
12270
|
if (len == null || len > arr.length) len = arr.length;
|
|
12183
12271
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
12184
12272
|
return arr2;
|
|
12185
12273
|
}
|
|
12186
12274
|
function _array_without_holes$b(arr) {
|
|
12187
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
12275
|
+
if (Array.isArray(arr)) return _array_like_to_array$p(arr);
|
|
12188
12276
|
}
|
|
12189
12277
|
function asyncGeneratorStep$h(gen, resolve, reject, _next, _throw, key, arg) {
|
|
12190
12278
|
try {
|
|
@@ -12276,19 +12364,19 @@ function _object_spread_props$d(target, source) {
|
|
|
12276
12364
|
return target;
|
|
12277
12365
|
}
|
|
12278
12366
|
function _to_consumable_array$b(arr) {
|
|
12279
|
-
return _array_without_holes$b(arr) || _iterable_to_array$b(arr) || _unsupported_iterable_to_array$
|
|
12367
|
+
return _array_without_holes$b(arr) || _iterable_to_array$b(arr) || _unsupported_iterable_to_array$p(arr) || _non_iterable_spread$b();
|
|
12280
12368
|
}
|
|
12281
12369
|
function _type_of$8(obj) {
|
|
12282
12370
|
"@swc/helpers - typeof";
|
|
12283
12371
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
12284
12372
|
}
|
|
12285
|
-
function _unsupported_iterable_to_array$
|
|
12373
|
+
function _unsupported_iterable_to_array$p(o, minLen) {
|
|
12286
12374
|
if (!o) return;
|
|
12287
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
12375
|
+
if (typeof o === "string") return _array_like_to_array$p(o, minLen);
|
|
12288
12376
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
12289
12377
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
12290
12378
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
12291
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
12379
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$p(o, minLen);
|
|
12292
12380
|
}
|
|
12293
12381
|
function _ts_generator$h(thisArg, body) {
|
|
12294
12382
|
var f, y, t, _ = {
|
|
@@ -13106,12 +13194,12 @@ var saveRoomPlatformUploadAndSelect = function(file) {
|
|
|
13106
13194
|
})();
|
|
13107
13195
|
};
|
|
13108
13196
|
|
|
13109
|
-
function _array_like_to_array$
|
|
13197
|
+
function _array_like_to_array$o(arr, len) {
|
|
13110
13198
|
if (len == null || len > arr.length) len = arr.length;
|
|
13111
13199
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
13112
13200
|
return arr2;
|
|
13113
13201
|
}
|
|
13114
|
-
function _array_with_holes$
|
|
13202
|
+
function _array_with_holes$l(arr) {
|
|
13115
13203
|
if (Array.isArray(arr)) return arr;
|
|
13116
13204
|
}
|
|
13117
13205
|
function asyncGeneratorStep$g(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -13156,7 +13244,7 @@ function _define_property$h(obj, key, value) {
|
|
|
13156
13244
|
}
|
|
13157
13245
|
return obj;
|
|
13158
13246
|
}
|
|
13159
|
-
function _iterable_to_array_limit$
|
|
13247
|
+
function _iterable_to_array_limit$l(arr, i) {
|
|
13160
13248
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
13161
13249
|
if (_i == null) return;
|
|
13162
13250
|
var _arr = [];
|
|
@@ -13180,7 +13268,7 @@ function _iterable_to_array_limit$k(arr, i) {
|
|
|
13180
13268
|
}
|
|
13181
13269
|
return _arr;
|
|
13182
13270
|
}
|
|
13183
|
-
function _non_iterable_rest$
|
|
13271
|
+
function _non_iterable_rest$l() {
|
|
13184
13272
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
13185
13273
|
}
|
|
13186
13274
|
function _object_spread$d(target) {
|
|
@@ -13217,16 +13305,16 @@ function _object_spread_props$c(target, source) {
|
|
|
13217
13305
|
}
|
|
13218
13306
|
return target;
|
|
13219
13307
|
}
|
|
13220
|
-
function _sliced_to_array$
|
|
13221
|
-
return _array_with_holes$
|
|
13308
|
+
function _sliced_to_array$l(arr, i) {
|
|
13309
|
+
return _array_with_holes$l(arr) || _iterable_to_array_limit$l(arr, i) || _unsupported_iterable_to_array$o(arr, i) || _non_iterable_rest$l();
|
|
13222
13310
|
}
|
|
13223
|
-
function _unsupported_iterable_to_array$
|
|
13311
|
+
function _unsupported_iterable_to_array$o(o, minLen) {
|
|
13224
13312
|
if (!o) return;
|
|
13225
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
13313
|
+
if (typeof o === "string") return _array_like_to_array$o(o, minLen);
|
|
13226
13314
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
13227
13315
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
13228
13316
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
13229
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
13317
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$o(o, minLen);
|
|
13230
13318
|
}
|
|
13231
13319
|
function _ts_generator$g(thisArg, body) {
|
|
13232
13320
|
var f, y, t, _ = {
|
|
@@ -13349,7 +13437,7 @@ function useRoomPlatformCameraBackground(param) {
|
|
|
13349
13437
|
var _ref, _ref1;
|
|
13350
13438
|
var _uploadItems_find, _uploadItems_;
|
|
13351
13439
|
var isSupported = typeof window !== 'undefined' && supportsBackgroundProcessors();
|
|
13352
|
-
var _useState = _sliced_to_array$
|
|
13440
|
+
var _useState = _sliced_to_array$l(useState(function() {
|
|
13353
13441
|
var saved = loadRoomPlatformCameraBackgroundSettings();
|
|
13354
13442
|
return mapSettingsToState(saved, isSupported);
|
|
13355
13443
|
}), 2), state = _useState[0], setState = _useState[1];
|
|
@@ -13361,7 +13449,7 @@ function useRoomPlatformCameraBackground(param) {
|
|
|
13361
13449
|
var activeObjectUrlRef = useRef(null);
|
|
13362
13450
|
var uploadPreviewUrlsRef = useRef([]);
|
|
13363
13451
|
var lastAppliedKeyRef = useRef('');
|
|
13364
|
-
var _useState1 = _sliced_to_array$
|
|
13452
|
+
var _useState1 = _sliced_to_array$l(useState([]), 2), uploadItems = _useState1[0], setUploadItems = _useState1[1];
|
|
13365
13453
|
var clearActiveObjectUrl = useCallback(function() {
|
|
13366
13454
|
if (!activeObjectUrlRef.current) return;
|
|
13367
13455
|
URL.revokeObjectURL(activeObjectUrlRef.current);
|
|
@@ -14222,16 +14310,16 @@ function useRoomPlatformCameraBackground(param) {
|
|
|
14222
14310
|
};
|
|
14223
14311
|
}
|
|
14224
14312
|
|
|
14225
|
-
function _array_like_to_array$
|
|
14313
|
+
function _array_like_to_array$n(arr, len) {
|
|
14226
14314
|
if (len == null || len > arr.length) len = arr.length;
|
|
14227
14315
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
14228
14316
|
return arr2;
|
|
14229
14317
|
}
|
|
14230
|
-
function _array_with_holes$
|
|
14318
|
+
function _array_with_holes$k(arr) {
|
|
14231
14319
|
if (Array.isArray(arr)) return arr;
|
|
14232
14320
|
}
|
|
14233
14321
|
function _array_without_holes$a(arr) {
|
|
14234
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
14322
|
+
if (Array.isArray(arr)) return _array_like_to_array$n(arr);
|
|
14235
14323
|
}
|
|
14236
14324
|
function asyncGeneratorStep$f(gen, resolve, reject, _next, _throw, key, arg) {
|
|
14237
14325
|
try {
|
|
@@ -14265,7 +14353,7 @@ function _async_to_generator$f(fn) {
|
|
|
14265
14353
|
function _iterable_to_array$a(iter) {
|
|
14266
14354
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
14267
14355
|
}
|
|
14268
|
-
function _iterable_to_array_limit$
|
|
14356
|
+
function _iterable_to_array_limit$k(arr, i) {
|
|
14269
14357
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
14270
14358
|
if (_i == null) return;
|
|
14271
14359
|
var _arr = [];
|
|
@@ -14289,25 +14377,25 @@ function _iterable_to_array_limit$j(arr, i) {
|
|
|
14289
14377
|
}
|
|
14290
14378
|
return _arr;
|
|
14291
14379
|
}
|
|
14292
|
-
function _non_iterable_rest$
|
|
14380
|
+
function _non_iterable_rest$k() {
|
|
14293
14381
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
14294
14382
|
}
|
|
14295
14383
|
function _non_iterable_spread$a() {
|
|
14296
14384
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
14297
14385
|
}
|
|
14298
|
-
function _sliced_to_array$
|
|
14299
|
-
return _array_with_holes$
|
|
14386
|
+
function _sliced_to_array$k(arr, i) {
|
|
14387
|
+
return _array_with_holes$k(arr) || _iterable_to_array_limit$k(arr, i) || _unsupported_iterable_to_array$n(arr, i) || _non_iterable_rest$k();
|
|
14300
14388
|
}
|
|
14301
14389
|
function _to_consumable_array$a(arr) {
|
|
14302
|
-
return _array_without_holes$a(arr) || _iterable_to_array$a(arr) || _unsupported_iterable_to_array$
|
|
14390
|
+
return _array_without_holes$a(arr) || _iterable_to_array$a(arr) || _unsupported_iterable_to_array$n(arr) || _non_iterable_spread$a();
|
|
14303
14391
|
}
|
|
14304
|
-
function _unsupported_iterable_to_array$
|
|
14392
|
+
function _unsupported_iterable_to_array$n(o, minLen) {
|
|
14305
14393
|
if (!o) return;
|
|
14306
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
14394
|
+
if (typeof o === "string") return _array_like_to_array$n(o, minLen);
|
|
14307
14395
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
14308
14396
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
14309
14397
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
14310
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
14398
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$n(o, minLen);
|
|
14311
14399
|
}
|
|
14312
14400
|
function _ts_generator$f(thisArg, body) {
|
|
14313
14401
|
var f, y, t, _ = {
|
|
@@ -14437,7 +14525,7 @@ function RoomPlatformPrivateRoomConnection(param) {
|
|
|
14437
14525
|
var canShareScreen = connection.permissions.includes('media:share_screen');
|
|
14438
14526
|
var canPublish = connection.permissions.includes('media:publish');
|
|
14439
14527
|
var baseScopeKey = isEligible ? "".concat(state.id, ":").concat(currentExternalActorId, ":").concat(scopeOf(connection)) : '';
|
|
14440
|
-
var _useState = _sliced_to_array$
|
|
14528
|
+
var _useState = _sliced_to_array$k(useState(null), 2), room = _useState[0], setRoom = _useState[1];
|
|
14441
14529
|
var roomRef = useRef(null);
|
|
14442
14530
|
var generationRef = useRef(0);
|
|
14443
14531
|
var scopeRef = useRef(undefined);
|
|
@@ -14445,7 +14533,7 @@ function RoomPlatformPrivateRoomConnection(param) {
|
|
|
14445
14533
|
var onDisconnectedRef = useRef(onDisconnected);
|
|
14446
14534
|
var refreshedTokenKeysRef = useRef(new Set());
|
|
14447
14535
|
var refreshRequestedScopeRef = useRef(undefined);
|
|
14448
|
-
var _useState1 = _sliced_to_array$
|
|
14536
|
+
var _useState1 = _sliced_to_array$k(useState(0), 2), generationNonce = _useState1[0], setGenerationNonce = _useState1[1];
|
|
14449
14537
|
var scopeKey = baseScopeKey ? "".concat(baseScopeKey, ":").concat(generationNonce) : '';
|
|
14450
14538
|
// A token refresh must not be a generation key. Pin the token to the scope so
|
|
14451
14539
|
// ordinary actor-scoped refetches keep the existing LiveKit Room instance.
|
|
@@ -14646,12 +14734,12 @@ function RoomPlatformPrivateRoomConnection(param) {
|
|
|
14646
14734
|
});
|
|
14647
14735
|
}
|
|
14648
14736
|
|
|
14649
|
-
function _array_like_to_array$
|
|
14737
|
+
function _array_like_to_array$m(arr, len) {
|
|
14650
14738
|
if (len == null || len > arr.length) len = arr.length;
|
|
14651
14739
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
14652
14740
|
return arr2;
|
|
14653
14741
|
}
|
|
14654
|
-
function _array_with_holes$
|
|
14742
|
+
function _array_with_holes$j(arr) {
|
|
14655
14743
|
if (Array.isArray(arr)) return arr;
|
|
14656
14744
|
}
|
|
14657
14745
|
function asyncGeneratorStep$e(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -14683,7 +14771,7 @@ function _async_to_generator$e(fn) {
|
|
|
14683
14771
|
});
|
|
14684
14772
|
};
|
|
14685
14773
|
}
|
|
14686
|
-
function _iterable_to_array_limit$
|
|
14774
|
+
function _iterable_to_array_limit$j(arr, i) {
|
|
14687
14775
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
14688
14776
|
if (_i == null) return;
|
|
14689
14777
|
var _arr = [];
|
|
@@ -14707,19 +14795,19 @@ function _iterable_to_array_limit$i(arr, i) {
|
|
|
14707
14795
|
}
|
|
14708
14796
|
return _arr;
|
|
14709
14797
|
}
|
|
14710
|
-
function _non_iterable_rest$
|
|
14798
|
+
function _non_iterable_rest$j() {
|
|
14711
14799
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
14712
14800
|
}
|
|
14713
|
-
function _sliced_to_array$
|
|
14714
|
-
return _array_with_holes$
|
|
14801
|
+
function _sliced_to_array$j(arr, i) {
|
|
14802
|
+
return _array_with_holes$j(arr) || _iterable_to_array_limit$j(arr, i) || _unsupported_iterable_to_array$m(arr, i) || _non_iterable_rest$j();
|
|
14715
14803
|
}
|
|
14716
|
-
function _unsupported_iterable_to_array$
|
|
14804
|
+
function _unsupported_iterable_to_array$m(o, minLen) {
|
|
14717
14805
|
if (!o) return;
|
|
14718
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
14806
|
+
if (typeof o === "string") return _array_like_to_array$m(o, minLen);
|
|
14719
14807
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
14720
14808
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
14721
14809
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
14722
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
14810
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$m(o, minLen);
|
|
14723
14811
|
}
|
|
14724
14812
|
function _ts_generator$e(thisArg, body) {
|
|
14725
14813
|
var f, y, t, _ = {
|
|
@@ -14822,8 +14910,9 @@ function _ts_generator$e(thisArg, body) {
|
|
|
14822
14910
|
}
|
|
14823
14911
|
function useRoomPlatformPrivateRoomControlActions(param) {
|
|
14824
14912
|
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;
|
|
14825
|
-
var
|
|
14826
|
-
var
|
|
14913
|
+
var roomPlatformToast = useRoomPlatformToast();
|
|
14914
|
+
var _useState = _sliced_to_array$j(useState(false), 2), isScreenSharePending = _useState[0], setIsScreenSharePending = _useState[1];
|
|
14915
|
+
var _useState1 = _sliced_to_array$j(useState(false), 2), isEnding = _useState1[0], setIsEnding = _useState1[1];
|
|
14827
14916
|
var isStartingRef = useRef(false);
|
|
14828
14917
|
var isStoppingRef = useRef(false);
|
|
14829
14918
|
var isEndingRef = useRef(false);
|
|
@@ -14891,7 +14980,7 @@ function useRoomPlatformPrivateRoomControlActions(param) {
|
|
|
14891
14980
|
];
|
|
14892
14981
|
case 8:
|
|
14893
14982
|
_state.sent();
|
|
14894
|
-
|
|
14983
|
+
roomPlatformToast.error('Không thể chia sẻ màn hình trong phòng riêng.');
|
|
14895
14984
|
return [
|
|
14896
14985
|
3,
|
|
14897
14986
|
10
|
|
@@ -14947,7 +15036,7 @@ function useRoomPlatformPrivateRoomControlActions(param) {
|
|
|
14947
15036
|
];
|
|
14948
15037
|
case 4:
|
|
14949
15038
|
_state.sent();
|
|
14950
|
-
|
|
15039
|
+
roomPlatformToast.error('Không thể dừng chia sẻ màn hình trong phòng riêng.');
|
|
14951
15040
|
return [
|
|
14952
15041
|
3,
|
|
14953
15042
|
6
|
|
@@ -15027,12 +15116,12 @@ function useRoomPlatformPrivateRoomControlActions(param) {
|
|
|
15027
15116
|
};
|
|
15028
15117
|
}
|
|
15029
15118
|
|
|
15030
|
-
function _array_like_to_array$
|
|
15119
|
+
function _array_like_to_array$l(arr, len) {
|
|
15031
15120
|
if (len == null || len > arr.length) len = arr.length;
|
|
15032
15121
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
15033
15122
|
return arr2;
|
|
15034
15123
|
}
|
|
15035
|
-
function _array_with_holes$
|
|
15124
|
+
function _array_with_holes$i(arr) {
|
|
15036
15125
|
if (Array.isArray(arr)) return arr;
|
|
15037
15126
|
}
|
|
15038
15127
|
function asyncGeneratorStep$d(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -15077,7 +15166,7 @@ function _define_property$g(obj, key, value) {
|
|
|
15077
15166
|
}
|
|
15078
15167
|
return obj;
|
|
15079
15168
|
}
|
|
15080
|
-
function _iterable_to_array_limit$
|
|
15169
|
+
function _iterable_to_array_limit$i(arr, i) {
|
|
15081
15170
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
15082
15171
|
if (_i == null) return;
|
|
15083
15172
|
var _arr = [];
|
|
@@ -15101,7 +15190,7 @@ function _iterable_to_array_limit$h(arr, i) {
|
|
|
15101
15190
|
}
|
|
15102
15191
|
return _arr;
|
|
15103
15192
|
}
|
|
15104
|
-
function _non_iterable_rest$
|
|
15193
|
+
function _non_iterable_rest$i() {
|
|
15105
15194
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
15106
15195
|
}
|
|
15107
15196
|
function _object_spread$c(target) {
|
|
@@ -15174,16 +15263,16 @@ function _object_without_properties_loose$4(source, excluded) {
|
|
|
15174
15263
|
}
|
|
15175
15264
|
return target;
|
|
15176
15265
|
}
|
|
15177
|
-
function _sliced_to_array$
|
|
15178
|
-
return _array_with_holes$
|
|
15266
|
+
function _sliced_to_array$i(arr, i) {
|
|
15267
|
+
return _array_with_holes$i(arr) || _iterable_to_array_limit$i(arr, i) || _unsupported_iterable_to_array$l(arr, i) || _non_iterable_rest$i();
|
|
15179
15268
|
}
|
|
15180
|
-
function _unsupported_iterable_to_array$
|
|
15269
|
+
function _unsupported_iterable_to_array$l(o, minLen) {
|
|
15181
15270
|
if (!o) return;
|
|
15182
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
15271
|
+
if (typeof o === "string") return _array_like_to_array$l(o, minLen);
|
|
15183
15272
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
15184
15273
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
15185
15274
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
15186
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
15275
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$l(o, minLen);
|
|
15187
15276
|
}
|
|
15188
15277
|
function _ts_generator$d(thisArg, body) {
|
|
15189
15278
|
var f, y, t, _ = {
|
|
@@ -15390,7 +15479,7 @@ var runAsyncSafely = function(action) {
|
|
|
15390
15479
|
function RoomPlatformPrivateRoomControlBar(param) {
|
|
15391
15480
|
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;
|
|
15392
15481
|
var room = useRoomContext();
|
|
15393
|
-
var _useState = _sliced_to_array$
|
|
15482
|
+
var _useState = _sliced_to_array$i(useState(false), 2), isScreenSharing = _useState[0], setIsScreenSharing = _useState[1];
|
|
15394
15483
|
var isScreenSharingRef = useRef(isScreenSharing);
|
|
15395
15484
|
var isScreenSharePendingRef = useRef(false);
|
|
15396
15485
|
var isNotifyingExternalStopRef = useRef(false);
|
|
@@ -15703,13 +15792,13 @@ var WhiteboardSocketEvent = /*#__PURE__*/ function(WhiteboardSocketEvent) {
|
|
|
15703
15792
|
return WhiteboardSocketEvent;
|
|
15704
15793
|
}({});
|
|
15705
15794
|
|
|
15706
|
-
function _array_like_to_array$
|
|
15795
|
+
function _array_like_to_array$k(arr, len) {
|
|
15707
15796
|
if (len == null || len > arr.length) len = arr.length;
|
|
15708
15797
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
15709
15798
|
return arr2;
|
|
15710
15799
|
}
|
|
15711
15800
|
function _array_without_holes$9(arr) {
|
|
15712
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
15801
|
+
if (Array.isArray(arr)) return _array_like_to_array$k(arr);
|
|
15713
15802
|
}
|
|
15714
15803
|
function _define_property$f(obj, key, value) {
|
|
15715
15804
|
if (key in obj) {
|
|
@@ -15801,15 +15890,15 @@ function _object_without_properties_loose$3(source, excluded) {
|
|
|
15801
15890
|
return target;
|
|
15802
15891
|
}
|
|
15803
15892
|
function _to_consumable_array$9(arr) {
|
|
15804
|
-
return _array_without_holes$9(arr) || _iterable_to_array$9(arr) || _unsupported_iterable_to_array$
|
|
15893
|
+
return _array_without_holes$9(arr) || _iterable_to_array$9(arr) || _unsupported_iterable_to_array$k(arr) || _non_iterable_spread$9();
|
|
15805
15894
|
}
|
|
15806
|
-
function _unsupported_iterable_to_array$
|
|
15895
|
+
function _unsupported_iterable_to_array$k(o, minLen) {
|
|
15807
15896
|
if (!o) return;
|
|
15808
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
15897
|
+
if (typeof o === "string") return _array_like_to_array$k(o, minLen);
|
|
15809
15898
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
15810
15899
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
15811
15900
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
15812
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
15901
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$k(o, minLen);
|
|
15813
15902
|
}
|
|
15814
15903
|
function createWhiteboardLocalHistory(createOperationId) {
|
|
15815
15904
|
var state = {
|
|
@@ -15952,13 +16041,13 @@ function omitLatestRevision$1(object) {
|
|
|
15952
16041
|
return input;
|
|
15953
16042
|
}
|
|
15954
16043
|
|
|
15955
|
-
function _array_like_to_array$
|
|
16044
|
+
function _array_like_to_array$j(arr, len) {
|
|
15956
16045
|
if (len == null || len > arr.length) len = arr.length;
|
|
15957
16046
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
15958
16047
|
return arr2;
|
|
15959
16048
|
}
|
|
15960
16049
|
function _array_without_holes$8(arr) {
|
|
15961
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
16050
|
+
if (Array.isArray(arr)) return _array_like_to_array$j(arr);
|
|
15962
16051
|
}
|
|
15963
16052
|
function _iterable_to_array$8(iter) {
|
|
15964
16053
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
@@ -15967,15 +16056,15 @@ function _non_iterable_spread$8() {
|
|
|
15967
16056
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
15968
16057
|
}
|
|
15969
16058
|
function _to_consumable_array$8(arr) {
|
|
15970
|
-
return _array_without_holes$8(arr) || _iterable_to_array$8(arr) || _unsupported_iterable_to_array$
|
|
16059
|
+
return _array_without_holes$8(arr) || _iterable_to_array$8(arr) || _unsupported_iterable_to_array$j(arr) || _non_iterable_spread$8();
|
|
15971
16060
|
}
|
|
15972
|
-
function _unsupported_iterable_to_array$
|
|
16061
|
+
function _unsupported_iterable_to_array$j(o, minLen) {
|
|
15973
16062
|
if (!o) return;
|
|
15974
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
16063
|
+
if (typeof o === "string") return _array_like_to_array$j(o, minLen);
|
|
15975
16064
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
15976
16065
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
15977
16066
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
15978
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
16067
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$j(o, minLen);
|
|
15979
16068
|
}
|
|
15980
16069
|
var STROKE_WIDTHS = {
|
|
15981
16070
|
xs: 2,
|
|
@@ -16318,16 +16407,16 @@ function pointInPolygon(point, polygon) {
|
|
|
16318
16407
|
return inside;
|
|
16319
16408
|
}
|
|
16320
16409
|
|
|
16321
|
-
function _array_like_to_array$
|
|
16410
|
+
function _array_like_to_array$i(arr, len) {
|
|
16322
16411
|
if (len == null || len > arr.length) len = arr.length;
|
|
16323
16412
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
16324
16413
|
return arr2;
|
|
16325
16414
|
}
|
|
16326
|
-
function _array_with_holes$
|
|
16415
|
+
function _array_with_holes$h(arr) {
|
|
16327
16416
|
if (Array.isArray(arr)) return arr;
|
|
16328
16417
|
}
|
|
16329
16418
|
function _array_without_holes$7(arr) {
|
|
16330
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
16419
|
+
if (Array.isArray(arr)) return _array_like_to_array$i(arr);
|
|
16331
16420
|
}
|
|
16332
16421
|
function _define_property$e(obj, key, value) {
|
|
16333
16422
|
if (key in obj) {
|
|
@@ -16345,7 +16434,7 @@ function _define_property$e(obj, key, value) {
|
|
|
16345
16434
|
function _iterable_to_array$7(iter) {
|
|
16346
16435
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
16347
16436
|
}
|
|
16348
|
-
function _iterable_to_array_limit$
|
|
16437
|
+
function _iterable_to_array_limit$h(arr, i) {
|
|
16349
16438
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
16350
16439
|
if (_i == null) return;
|
|
16351
16440
|
var _arr = [];
|
|
@@ -16369,7 +16458,7 @@ function _iterable_to_array_limit$g(arr, i) {
|
|
|
16369
16458
|
}
|
|
16370
16459
|
return _arr;
|
|
16371
16460
|
}
|
|
16372
|
-
function _non_iterable_rest$
|
|
16461
|
+
function _non_iterable_rest$h() {
|
|
16373
16462
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
16374
16463
|
}
|
|
16375
16464
|
function _non_iterable_spread$7() {
|
|
@@ -16409,23 +16498,23 @@ function _object_spread_props$9(target, source) {
|
|
|
16409
16498
|
}
|
|
16410
16499
|
return target;
|
|
16411
16500
|
}
|
|
16412
|
-
function _sliced_to_array$
|
|
16413
|
-
return _array_with_holes$
|
|
16501
|
+
function _sliced_to_array$h(arr, i) {
|
|
16502
|
+
return _array_with_holes$h(arr) || _iterable_to_array_limit$h(arr, i) || _unsupported_iterable_to_array$i(arr, i) || _non_iterable_rest$h();
|
|
16414
16503
|
}
|
|
16415
16504
|
function _to_consumable_array$7(arr) {
|
|
16416
|
-
return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$
|
|
16505
|
+
return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$i(arr) || _non_iterable_spread$7();
|
|
16417
16506
|
}
|
|
16418
16507
|
function _type_of$6(obj) {
|
|
16419
16508
|
"@swc/helpers - typeof";
|
|
16420
16509
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
16421
16510
|
}
|
|
16422
|
-
function _unsupported_iterable_to_array$
|
|
16511
|
+
function _unsupported_iterable_to_array$i(o, minLen) {
|
|
16423
16512
|
if (!o) return;
|
|
16424
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
16513
|
+
if (typeof o === "string") return _array_like_to_array$i(o, minLen);
|
|
16425
16514
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
16426
16515
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
16427
16516
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
16428
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
16517
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$i(o, minLen);
|
|
16429
16518
|
}
|
|
16430
16519
|
function resetSceneState() {
|
|
16431
16520
|
return {
|
|
@@ -16703,7 +16792,7 @@ function applyOperationToScene(state, operation, revision, optimisticRestoreObje
|
|
|
16703
16792
|
}
|
|
16704
16793
|
function sortRecoveredObjects(state) {
|
|
16705
16794
|
state.recoveredObjects = new Map(_to_consumable_array$7(state.recoveredObjects.entries()).sort(function(param, param1) {
|
|
16706
|
-
var _param = _sliced_to_array$
|
|
16795
|
+
var _param = _sliced_to_array$h(param, 2), left = _param[1], _param1 = _sliced_to_array$h(param1, 2), right = _param1[1];
|
|
16707
16796
|
return left.latestRevision === right.latestRevision ? left.objectId.localeCompare(right.objectId) : left.latestRevision - right.latestRevision;
|
|
16708
16797
|
}));
|
|
16709
16798
|
}
|
|
@@ -16764,7 +16853,7 @@ function removeExpiredMarkers(state, now) {
|
|
|
16764
16853
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
16765
16854
|
try {
|
|
16766
16855
|
for(var _iterator = state.recoveredObjects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
16767
|
-
var _step_value = _sliced_to_array$
|
|
16856
|
+
var _step_value = _sliced_to_array$h(_step.value, 2), objectId = _step_value[0], object = _step_value[1];
|
|
16768
16857
|
if (isExpiredMarker(object, now)) state.recoveredObjects.delete(objectId);
|
|
16769
16858
|
}
|
|
16770
16859
|
} catch (err) {
|
|
@@ -17474,16 +17563,16 @@ function FilledDiamondShapeIcon() {
|
|
|
17474
17563
|
});
|
|
17475
17564
|
}
|
|
17476
17565
|
|
|
17477
|
-
function _array_like_to_array$
|
|
17566
|
+
function _array_like_to_array$h(arr, len) {
|
|
17478
17567
|
if (len == null || len > arr.length) len = arr.length;
|
|
17479
17568
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
17480
17569
|
return arr2;
|
|
17481
17570
|
}
|
|
17482
|
-
function _array_with_holes$
|
|
17571
|
+
function _array_with_holes$g(arr) {
|
|
17483
17572
|
if (Array.isArray(arr)) return arr;
|
|
17484
17573
|
}
|
|
17485
17574
|
function _array_without_holes$6(arr) {
|
|
17486
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
17575
|
+
if (Array.isArray(arr)) return _array_like_to_array$h(arr);
|
|
17487
17576
|
}
|
|
17488
17577
|
function _define_property$c(obj, key, value) {
|
|
17489
17578
|
if (key in obj) {
|
|
@@ -17501,7 +17590,7 @@ function _define_property$c(obj, key, value) {
|
|
|
17501
17590
|
function _iterable_to_array$6(iter) {
|
|
17502
17591
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
17503
17592
|
}
|
|
17504
|
-
function _iterable_to_array_limit$
|
|
17593
|
+
function _iterable_to_array_limit$g(arr, i) {
|
|
17505
17594
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
17506
17595
|
if (_i == null) return;
|
|
17507
17596
|
var _arr = [];
|
|
@@ -17525,7 +17614,7 @@ function _iterable_to_array_limit$f(arr, i) {
|
|
|
17525
17614
|
}
|
|
17526
17615
|
return _arr;
|
|
17527
17616
|
}
|
|
17528
|
-
function _non_iterable_rest$
|
|
17617
|
+
function _non_iterable_rest$g() {
|
|
17529
17618
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
17530
17619
|
}
|
|
17531
17620
|
function _non_iterable_spread$6() {
|
|
@@ -17565,19 +17654,19 @@ function _object_spread_props$8(target, source) {
|
|
|
17565
17654
|
}
|
|
17566
17655
|
return target;
|
|
17567
17656
|
}
|
|
17568
|
-
function _sliced_to_array$
|
|
17569
|
-
return _array_with_holes$
|
|
17657
|
+
function _sliced_to_array$g(arr, i) {
|
|
17658
|
+
return _array_with_holes$g(arr) || _iterable_to_array_limit$g(arr, i) || _unsupported_iterable_to_array$h(arr, i) || _non_iterable_rest$g();
|
|
17570
17659
|
}
|
|
17571
17660
|
function _to_consumable_array$6(arr) {
|
|
17572
|
-
return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$
|
|
17661
|
+
return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$h(arr) || _non_iterable_spread$6();
|
|
17573
17662
|
}
|
|
17574
|
-
function _unsupported_iterable_to_array$
|
|
17663
|
+
function _unsupported_iterable_to_array$h(o, minLen) {
|
|
17575
17664
|
if (!o) return;
|
|
17576
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
17665
|
+
if (typeof o === "string") return _array_like_to_array$h(o, minLen);
|
|
17577
17666
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
17578
17667
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
17579
17668
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
17580
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
17669
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$h(o, minLen);
|
|
17581
17670
|
}
|
|
17582
17671
|
var WHITEBOARD_VIEWPORT_PADDING = 16;
|
|
17583
17672
|
var WHITEBOARD_DOCK_SNAP_DISTANCE = 64;
|
|
@@ -17608,14 +17697,14 @@ var WHITEBOARD_POPOVER_SIZES = {
|
|
|
17608
17697
|
}
|
|
17609
17698
|
};
|
|
17610
17699
|
function useWhiteboardToolbarLayout() {
|
|
17611
|
-
var _useState = _sliced_to_array$
|
|
17700
|
+
var _useState = _sliced_to_array$g(useState(function() {
|
|
17612
17701
|
return getViewport();
|
|
17613
17702
|
}), 2), viewport = _useState[0], setViewport = _useState[1];
|
|
17614
17703
|
var viewportRef = useRef(viewport);
|
|
17615
|
-
var _useState1 = _sliced_to_array$
|
|
17616
|
-
var _useState2 = _sliced_to_array$
|
|
17617
|
-
var _useState3 = _sliced_to_array$
|
|
17618
|
-
var _useState4 = _sliced_to_array$
|
|
17704
|
+
var _useState1 = _sliced_to_array$g(useState(false), 2), toolbarOpen = _useState1[0], setToolbarOpen = _useState1[1];
|
|
17705
|
+
var _useState2 = _sliced_to_array$g(useState(null), 2), activePopover = _useState2[0], setActivePopover = _useState2[1];
|
|
17706
|
+
var _useState3 = _sliced_to_array$g(useState(false), 2), hasOpened = _useState3[0], setHasOpened = _useState3[1];
|
|
17707
|
+
var _useState4 = _sliced_to_array$g(useState(function() {
|
|
17619
17708
|
return getToolbarLayout(getDefaultToolbarPosition(getViewport()), getViewport());
|
|
17620
17709
|
}), 2), layout = _useState4[0], setLayout = _useState4[1];
|
|
17621
17710
|
var dragOriginRef = useRef(undefined);
|
|
@@ -17841,10 +17930,10 @@ function getOutsideDock(position, orientation, viewport) {
|
|
|
17841
17930
|
]
|
|
17842
17931
|
];
|
|
17843
17932
|
return (_candidates_filter_sort_ = candidates.filter(function(param) {
|
|
17844
|
-
var _param = _sliced_to_array$
|
|
17933
|
+
var _param = _sliced_to_array$g(param, 2), distance = _param[1];
|
|
17845
17934
|
return distance > 0;
|
|
17846
17935
|
}).sort(function(param, param1) {
|
|
17847
|
-
var _param = _sliced_to_array$
|
|
17936
|
+
var _param = _sliced_to_array$g(param, 2), left = _param[1], _param1 = _sliced_to_array$g(param1, 2), right = _param1[1];
|
|
17848
17937
|
return left - right;
|
|
17849
17938
|
})[0]) === null || _candidates_filter_sort_ === void 0 ? void 0 : _candidates_filter_sort_[0];
|
|
17850
17939
|
}
|
|
@@ -18007,12 +18096,12 @@ function TriggerIcon() {
|
|
|
18007
18096
|
});
|
|
18008
18097
|
}
|
|
18009
18098
|
|
|
18010
|
-
function _array_like_to_array$
|
|
18099
|
+
function _array_like_to_array$g(arr, len) {
|
|
18011
18100
|
if (len == null || len > arr.length) len = arr.length;
|
|
18012
18101
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
18013
18102
|
return arr2;
|
|
18014
18103
|
}
|
|
18015
|
-
function _array_with_holes$
|
|
18104
|
+
function _array_with_holes$f(arr) {
|
|
18016
18105
|
if (Array.isArray(arr)) return arr;
|
|
18017
18106
|
}
|
|
18018
18107
|
function _define_property$b(obj, key, value) {
|
|
@@ -18028,7 +18117,7 @@ function _define_property$b(obj, key, value) {
|
|
|
18028
18117
|
}
|
|
18029
18118
|
return obj;
|
|
18030
18119
|
}
|
|
18031
|
-
function _iterable_to_array_limit$
|
|
18120
|
+
function _iterable_to_array_limit$f(arr, i) {
|
|
18032
18121
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
18033
18122
|
if (_i == null) return;
|
|
18034
18123
|
var _arr = [];
|
|
@@ -18052,19 +18141,19 @@ function _iterable_to_array_limit$e(arr, i) {
|
|
|
18052
18141
|
}
|
|
18053
18142
|
return _arr;
|
|
18054
18143
|
}
|
|
18055
|
-
function _non_iterable_rest$
|
|
18144
|
+
function _non_iterable_rest$f() {
|
|
18056
18145
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
18057
18146
|
}
|
|
18058
|
-
function _sliced_to_array$
|
|
18059
|
-
return _array_with_holes$
|
|
18147
|
+
function _sliced_to_array$f(arr, i) {
|
|
18148
|
+
return _array_with_holes$f(arr) || _iterable_to_array_limit$f(arr, i) || _unsupported_iterable_to_array$g(arr, i) || _non_iterable_rest$f();
|
|
18060
18149
|
}
|
|
18061
|
-
function _unsupported_iterable_to_array$
|
|
18150
|
+
function _unsupported_iterable_to_array$g(o, minLen) {
|
|
18062
18151
|
if (!o) return;
|
|
18063
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
18152
|
+
if (typeof o === "string") return _array_like_to_array$g(o, minLen);
|
|
18064
18153
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
18065
18154
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
18066
18155
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
18067
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
18156
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$g(o, minLen);
|
|
18068
18157
|
}
|
|
18069
18158
|
function WhiteboardToolbar(param) {
|
|
18070
18159
|
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;
|
|
@@ -18077,7 +18166,7 @@ function WhiteboardToolbar(param) {
|
|
|
18077
18166
|
var colorButtonRef = useRef(null);
|
|
18078
18167
|
var drawPopoverRef = useRef(null);
|
|
18079
18168
|
var colorPopoverRef = useRef(null);
|
|
18080
|
-
var _useState = _sliced_to_array$
|
|
18169
|
+
var _useState = _sliced_to_array$f(useState(undefined), 2), measuredPopoverStyle = _useState[0], setMeasuredPopoverStyle = _useState[1];
|
|
18081
18170
|
var interactionDisabled = !canWrite || runtimeState !== 'ready';
|
|
18082
18171
|
var clearDisabled = !canClear || runtimeState !== 'ready';
|
|
18083
18172
|
var tooltipSide = getToolbarTooltipSide(dock);
|
|
@@ -18575,15 +18664,15 @@ function CloseIcon() {
|
|
|
18575
18664
|
});
|
|
18576
18665
|
}
|
|
18577
18666
|
|
|
18578
|
-
function _array_like_to_array$
|
|
18667
|
+
function _array_like_to_array$f(arr, len) {
|
|
18579
18668
|
if (len == null || len > arr.length) len = arr.length;
|
|
18580
18669
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
18581
18670
|
return arr2;
|
|
18582
18671
|
}
|
|
18583
|
-
function _array_with_holes$
|
|
18672
|
+
function _array_with_holes$e(arr) {
|
|
18584
18673
|
if (Array.isArray(arr)) return arr;
|
|
18585
18674
|
}
|
|
18586
|
-
function _iterable_to_array_limit$
|
|
18675
|
+
function _iterable_to_array_limit$e(arr, i) {
|
|
18587
18676
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
18588
18677
|
if (_i == null) return;
|
|
18589
18678
|
var _arr = [];
|
|
@@ -18607,23 +18696,23 @@ function _iterable_to_array_limit$d(arr, i) {
|
|
|
18607
18696
|
}
|
|
18608
18697
|
return _arr;
|
|
18609
18698
|
}
|
|
18610
|
-
function _non_iterable_rest$
|
|
18699
|
+
function _non_iterable_rest$e() {
|
|
18611
18700
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
18612
18701
|
}
|
|
18613
|
-
function _sliced_to_array$
|
|
18614
|
-
return _array_with_holes$
|
|
18702
|
+
function _sliced_to_array$e(arr, i) {
|
|
18703
|
+
return _array_with_holes$e(arr) || _iterable_to_array_limit$e(arr, i) || _unsupported_iterable_to_array$f(arr, i) || _non_iterable_rest$e();
|
|
18615
18704
|
}
|
|
18616
|
-
function _unsupported_iterable_to_array$
|
|
18705
|
+
function _unsupported_iterable_to_array$f(o, minLen) {
|
|
18617
18706
|
if (!o) return;
|
|
18618
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
18707
|
+
if (typeof o === "string") return _array_like_to_array$f(o, minLen);
|
|
18619
18708
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
18620
18709
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
18621
18710
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
18622
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
18711
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$f(o, minLen);
|
|
18623
18712
|
}
|
|
18624
18713
|
function useWhiteboardFrameRect() {
|
|
18625
18714
|
var frameRef = useRef(null);
|
|
18626
|
-
var _useState = _sliced_to_array$
|
|
18715
|
+
var _useState = _sliced_to_array$e(useState(undefined), 2), frameRect = _useState[0], setFrameRect = _useState[1];
|
|
18627
18716
|
useEffect(function() {
|
|
18628
18717
|
var element = frameRef.current;
|
|
18629
18718
|
if (!element) return;
|
|
@@ -18658,16 +18747,16 @@ function useWhiteboardFrameRect() {
|
|
|
18658
18747
|
};
|
|
18659
18748
|
}
|
|
18660
18749
|
|
|
18661
|
-
function _array_like_to_array$
|
|
18750
|
+
function _array_like_to_array$e(arr, len) {
|
|
18662
18751
|
if (len == null || len > arr.length) len = arr.length;
|
|
18663
18752
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
18664
18753
|
return arr2;
|
|
18665
18754
|
}
|
|
18666
|
-
function _array_with_holes$
|
|
18755
|
+
function _array_with_holes$d(arr) {
|
|
18667
18756
|
if (Array.isArray(arr)) return arr;
|
|
18668
18757
|
}
|
|
18669
18758
|
function _array_without_holes$5(arr) {
|
|
18670
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
18759
|
+
if (Array.isArray(arr)) return _array_like_to_array$e(arr);
|
|
18671
18760
|
}
|
|
18672
18761
|
function asyncGeneratorStep$c(gen, resolve, reject, _next, _throw, key, arg) {
|
|
18673
18762
|
try {
|
|
@@ -18714,7 +18803,7 @@ function _define_property$a(obj, key, value) {
|
|
|
18714
18803
|
function _iterable_to_array$5(iter) {
|
|
18715
18804
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
18716
18805
|
}
|
|
18717
|
-
function _iterable_to_array_limit$
|
|
18806
|
+
function _iterable_to_array_limit$d(arr, i) {
|
|
18718
18807
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
18719
18808
|
if (_i == null) return;
|
|
18720
18809
|
var _arr = [];
|
|
@@ -18738,7 +18827,7 @@ function _iterable_to_array_limit$c(arr, i) {
|
|
|
18738
18827
|
}
|
|
18739
18828
|
return _arr;
|
|
18740
18829
|
}
|
|
18741
|
-
function _non_iterable_rest$
|
|
18830
|
+
function _non_iterable_rest$d() {
|
|
18742
18831
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
18743
18832
|
}
|
|
18744
18833
|
function _non_iterable_spread$5() {
|
|
@@ -18814,23 +18903,23 @@ function _object_without_properties_loose$2(source, excluded) {
|
|
|
18814
18903
|
}
|
|
18815
18904
|
return target;
|
|
18816
18905
|
}
|
|
18817
|
-
function _sliced_to_array$
|
|
18818
|
-
return _array_with_holes$
|
|
18906
|
+
function _sliced_to_array$d(arr, i) {
|
|
18907
|
+
return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$e(arr, i) || _non_iterable_rest$d();
|
|
18819
18908
|
}
|
|
18820
18909
|
function _to_consumable_array$5(arr) {
|
|
18821
|
-
return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$
|
|
18910
|
+
return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$e(arr) || _non_iterable_spread$5();
|
|
18822
18911
|
}
|
|
18823
18912
|
function _type_of$5(obj) {
|
|
18824
18913
|
"@swc/helpers - typeof";
|
|
18825
18914
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
18826
18915
|
}
|
|
18827
|
-
function _unsupported_iterable_to_array$
|
|
18916
|
+
function _unsupported_iterable_to_array$e(o, minLen) {
|
|
18828
18917
|
if (!o) return;
|
|
18829
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
18918
|
+
if (typeof o === "string") return _array_like_to_array$e(o, minLen);
|
|
18830
18919
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
18831
18920
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
18832
18921
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
18833
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
18922
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$e(o, minLen);
|
|
18834
18923
|
}
|
|
18835
18924
|
function _ts_generator$c(thisArg, body) {
|
|
18836
18925
|
var f, y, t, _ = {
|
|
@@ -18952,10 +19041,10 @@ function WhiteboardCanvas(param) {
|
|
|
18952
19041
|
if (!localHistoryRef.current) localHistoryRef.current = createWhiteboardLocalHistory(function() {
|
|
18953
19042
|
return createStableId('annotation-history');
|
|
18954
19043
|
});
|
|
18955
|
-
var _useState = _sliced_to_array$
|
|
19044
|
+
var _useState = _sliced_to_array$d(useState(function() {
|
|
18956
19045
|
return resetSceneState();
|
|
18957
19046
|
}), 2), sceneState = _useState[0], setSceneState = _useState[1];
|
|
18958
|
-
var _useState1 = _sliced_to_array$
|
|
19047
|
+
var _useState1 = _sliced_to_array$d(useState(function() {
|
|
18959
19048
|
var _ref;
|
|
18960
19049
|
var _localHistoryRef_current;
|
|
18961
19050
|
return (_ref = (_localHistoryRef_current = localHistoryRef.current) === null || _localHistoryRef_current === void 0 ? void 0 : _localHistoryRef_current.getState()) !== null && _ref !== void 0 ? _ref : {
|
|
@@ -18963,11 +19052,11 @@ function WhiteboardCanvas(param) {
|
|
|
18963
19052
|
undoStack: []
|
|
18964
19053
|
};
|
|
18965
19054
|
}), 2), localHistoryState = _useState1[0], setLocalHistoryState = _useState1[1];
|
|
18966
|
-
var _useState2 = _sliced_to_array$
|
|
18967
|
-
var _useState3 = _sliced_to_array$
|
|
18968
|
-
var _useState4 = _sliced_to_array$
|
|
18969
|
-
var _useState5 = _sliced_to_array$
|
|
18970
|
-
var _useState6 = _sliced_to_array$
|
|
19055
|
+
var _useState2 = _sliced_to_array$d(useState(controlledActiveTool !== null && controlledActiveTool !== void 0 ? controlledActiveTool : 'draw'), 2), uncontrolledActiveTool = _useState2[0], setUncontrolledActiveTool = _useState2[1];
|
|
19056
|
+
var _useState3 = _sliced_to_array$d(useState(DEFAULT_WHITEBOARD_DRAW_KIND), 2), activeDrawKind = _useState3[0], setActiveDrawKind = _useState3[1];
|
|
19057
|
+
var _useState4 = _sliced_to_array$d(useState(DEFAULT_WHITEBOARD_COLOR), 2), activeColor = _useState4[0], setActiveColor = _useState4[1];
|
|
19058
|
+
var _useState5 = _sliced_to_array$d(useState(DEFAULT_WHITEBOARD_WIDTH_PRESET), 2), activeWidthPreset = _useState5[0], setActiveWidthPreset = _useState5[1];
|
|
19059
|
+
var _useState6 = _sliced_to_array$d(useState(false), 2), toolbarOpen = _useState6[0], setToolbarOpen = _useState6[1];
|
|
18971
19060
|
var activeTool = controlledActiveTool !== null && controlledActiveTool !== void 0 ? controlledActiveTool : uncontrolledActiveTool;
|
|
18972
19061
|
var hasWritePermission = permissions.includes('whiteboard:write');
|
|
18973
19062
|
var submitState = whiteboard === null || whiteboard === void 0 ? void 0 : (_whiteboard_submitStatus = whiteboard.submitStatus) === null || _whiteboard_submitStatus === void 0 ? void 0 : _whiteboard_submitStatus.state;
|
|
@@ -19611,15 +19700,15 @@ function clamp01(value) {
|
|
|
19611
19700
|
return Math.max(0, Math.min(1, value));
|
|
19612
19701
|
}
|
|
19613
19702
|
|
|
19614
|
-
function _array_like_to_array$
|
|
19703
|
+
function _array_like_to_array$d(arr, len) {
|
|
19615
19704
|
if (len == null || len > arr.length) len = arr.length;
|
|
19616
19705
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
19617
19706
|
return arr2;
|
|
19618
19707
|
}
|
|
19619
|
-
function _array_with_holes$
|
|
19708
|
+
function _array_with_holes$c(arr) {
|
|
19620
19709
|
if (Array.isArray(arr)) return arr;
|
|
19621
19710
|
}
|
|
19622
|
-
function _iterable_to_array_limit$
|
|
19711
|
+
function _iterable_to_array_limit$c(arr, i) {
|
|
19623
19712
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
19624
19713
|
if (_i == null) return;
|
|
19625
19714
|
var _arr = [];
|
|
@@ -19643,19 +19732,19 @@ function _iterable_to_array_limit$b(arr, i) {
|
|
|
19643
19732
|
}
|
|
19644
19733
|
return _arr;
|
|
19645
19734
|
}
|
|
19646
|
-
function _non_iterable_rest$
|
|
19735
|
+
function _non_iterable_rest$c() {
|
|
19647
19736
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
19648
19737
|
}
|
|
19649
|
-
function _sliced_to_array$
|
|
19650
|
-
return _array_with_holes$
|
|
19738
|
+
function _sliced_to_array$c(arr, i) {
|
|
19739
|
+
return _array_with_holes$c(arr) || _iterable_to_array_limit$c(arr, i) || _unsupported_iterable_to_array$d(arr, i) || _non_iterable_rest$c();
|
|
19651
19740
|
}
|
|
19652
|
-
function _unsupported_iterable_to_array$
|
|
19741
|
+
function _unsupported_iterable_to_array$d(o, minLen) {
|
|
19653
19742
|
if (!o) return;
|
|
19654
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
19743
|
+
if (typeof o === "string") return _array_like_to_array$d(o, minLen);
|
|
19655
19744
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
19656
19745
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
19657
19746
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
19658
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
19747
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
|
|
19659
19748
|
}
|
|
19660
19749
|
function createWhiteboardSubmitQueue(options) {
|
|
19661
19750
|
var _options_now;
|
|
@@ -19777,7 +19866,7 @@ function createWhiteboardSubmitQueue(options) {
|
|
|
19777
19866
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
19778
19867
|
try {
|
|
19779
19868
|
var _loop = function() {
|
|
19780
|
-
var _step_value = _sliced_to_array$
|
|
19869
|
+
var _step_value = _sliced_to_array$c(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
|
|
19781
19870
|
var item = queue.find(function(queuedItem) {
|
|
19782
19871
|
return queuedItem.operation.operationId === operationId;
|
|
19783
19872
|
});
|
|
@@ -19838,16 +19927,16 @@ function createWhiteboardSubmitQueue(options) {
|
|
|
19838
19927
|
};
|
|
19839
19928
|
}
|
|
19840
19929
|
|
|
19841
|
-
function _array_like_to_array$
|
|
19930
|
+
function _array_like_to_array$c(arr, len) {
|
|
19842
19931
|
if (len == null || len > arr.length) len = arr.length;
|
|
19843
19932
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
19844
19933
|
return arr2;
|
|
19845
19934
|
}
|
|
19846
|
-
function _array_with_holes$
|
|
19935
|
+
function _array_with_holes$b(arr) {
|
|
19847
19936
|
if (Array.isArray(arr)) return arr;
|
|
19848
19937
|
}
|
|
19849
19938
|
function _array_without_holes$4(arr) {
|
|
19850
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
19939
|
+
if (Array.isArray(arr)) return _array_like_to_array$c(arr);
|
|
19851
19940
|
}
|
|
19852
19941
|
function asyncGeneratorStep$b(gen, resolve, reject, _next, _throw, key, arg) {
|
|
19853
19942
|
try {
|
|
@@ -19894,7 +19983,7 @@ function _define_property$9(obj, key, value) {
|
|
|
19894
19983
|
function _iterable_to_array$4(iter) {
|
|
19895
19984
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
19896
19985
|
}
|
|
19897
|
-
function _iterable_to_array_limit$
|
|
19986
|
+
function _iterable_to_array_limit$b(arr, i) {
|
|
19898
19987
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
19899
19988
|
if (_i == null) return;
|
|
19900
19989
|
var _arr = [];
|
|
@@ -19918,7 +20007,7 @@ function _iterable_to_array_limit$a(arr, i) {
|
|
|
19918
20007
|
}
|
|
19919
20008
|
return _arr;
|
|
19920
20009
|
}
|
|
19921
|
-
function _non_iterable_rest$
|
|
20010
|
+
function _non_iterable_rest$b() {
|
|
19922
20011
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
19923
20012
|
}
|
|
19924
20013
|
function _non_iterable_spread$4() {
|
|
@@ -19958,23 +20047,23 @@ function _object_spread_props$6(target, source) {
|
|
|
19958
20047
|
}
|
|
19959
20048
|
return target;
|
|
19960
20049
|
}
|
|
19961
|
-
function _sliced_to_array$
|
|
19962
|
-
return _array_with_holes$
|
|
20050
|
+
function _sliced_to_array$b(arr, i) {
|
|
20051
|
+
return _array_with_holes$b(arr) || _iterable_to_array_limit$b(arr, i) || _unsupported_iterable_to_array$c(arr, i) || _non_iterable_rest$b();
|
|
19963
20052
|
}
|
|
19964
20053
|
function _to_consumable_array$4(arr) {
|
|
19965
|
-
return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$
|
|
20054
|
+
return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$c(arr) || _non_iterable_spread$4();
|
|
19966
20055
|
}
|
|
19967
20056
|
function _type_of$4(obj) {
|
|
19968
20057
|
"@swc/helpers - typeof";
|
|
19969
20058
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
19970
20059
|
}
|
|
19971
|
-
function _unsupported_iterable_to_array$
|
|
20060
|
+
function _unsupported_iterable_to_array$c(o, minLen) {
|
|
19972
20061
|
if (!o) return;
|
|
19973
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
20062
|
+
if (typeof o === "string") return _array_like_to_array$c(o, minLen);
|
|
19974
20063
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
19975
20064
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
19976
20065
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
19977
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
20066
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
|
|
19978
20067
|
}
|
|
19979
20068
|
function _ts_generator$b(thisArg, body) {
|
|
19980
20069
|
var f, y, t, _ = {
|
|
@@ -20180,7 +20269,7 @@ function createWhiteboardRuntime() {
|
|
|
20180
20269
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
20181
20270
|
try {
|
|
20182
20271
|
for(var _iterator = bufferedCommittedEvents[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
20183
|
-
var _step_value = _sliced_to_array$
|
|
20272
|
+
var _step_value = _sliced_to_array$b(_step.value, 2), eventRevision = _step_value[0], event = _step_value[1];
|
|
20184
20273
|
if (eventRevision > revision) continue;
|
|
20185
20274
|
operationIds.set(event.operation.operationId, eventRevision);
|
|
20186
20275
|
bufferedCommittedEvents.delete(eventRevision);
|
|
@@ -20795,7 +20884,7 @@ function createWhiteboardRuntime() {
|
|
|
20795
20884
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
20796
20885
|
try {
|
|
20797
20886
|
for(_iterator = reconciliation.recoveredOperationIds[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
20798
|
-
_step_value = _sliced_to_array$
|
|
20887
|
+
_step_value = _sliced_to_array$b(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
|
|
20799
20888
|
recoveredOperationIds.set(operationId, revision);
|
|
20800
20889
|
}
|
|
20801
20890
|
} catch (err) {
|
|
@@ -20898,7 +20987,7 @@ function createWhiteboardRuntime() {
|
|
|
20898
20987
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
20899
20988
|
try {
|
|
20900
20989
|
for(_iterator = recovery.recoveredOperationIds[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
20901
|
-
_step_value = _sliced_to_array$
|
|
20990
|
+
_step_value = _sliced_to_array$b(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
|
|
20902
20991
|
recoveredOperationIds.set(operationId, revision);
|
|
20903
20992
|
}
|
|
20904
20993
|
} catch (err) {
|
|
@@ -21468,16 +21557,16 @@ function sortRecoveryObjects(objects) {
|
|
|
21468
21557
|
});
|
|
21469
21558
|
}
|
|
21470
21559
|
|
|
21471
|
-
function _array_like_to_array$
|
|
21560
|
+
function _array_like_to_array$b(arr, len) {
|
|
21472
21561
|
if (len == null || len > arr.length) len = arr.length;
|
|
21473
21562
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
21474
21563
|
return arr2;
|
|
21475
21564
|
}
|
|
21476
|
-
function _array_with_holes$
|
|
21565
|
+
function _array_with_holes$a(arr) {
|
|
21477
21566
|
if (Array.isArray(arr)) return arr;
|
|
21478
21567
|
}
|
|
21479
21568
|
function _array_without_holes$3(arr) {
|
|
21480
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
21569
|
+
if (Array.isArray(arr)) return _array_like_to_array$b(arr);
|
|
21481
21570
|
}
|
|
21482
21571
|
function asyncGeneratorStep$a(gen, resolve, reject, _next, _throw, key, arg) {
|
|
21483
21572
|
try {
|
|
@@ -21524,7 +21613,7 @@ function _define_property$8(obj, key, value) {
|
|
|
21524
21613
|
function _iterable_to_array$3(iter) {
|
|
21525
21614
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
21526
21615
|
}
|
|
21527
|
-
function _iterable_to_array_limit$
|
|
21616
|
+
function _iterable_to_array_limit$a(arr, i) {
|
|
21528
21617
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
21529
21618
|
if (_i == null) return;
|
|
21530
21619
|
var _arr = [];
|
|
@@ -21548,7 +21637,7 @@ function _iterable_to_array_limit$9(arr, i) {
|
|
|
21548
21637
|
}
|
|
21549
21638
|
return _arr;
|
|
21550
21639
|
}
|
|
21551
|
-
function _non_iterable_rest$
|
|
21640
|
+
function _non_iterable_rest$a() {
|
|
21552
21641
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
21553
21642
|
}
|
|
21554
21643
|
function _non_iterable_spread$3() {
|
|
@@ -21588,19 +21677,19 @@ function _object_spread_props$5(target, source) {
|
|
|
21588
21677
|
}
|
|
21589
21678
|
return target;
|
|
21590
21679
|
}
|
|
21591
|
-
function _sliced_to_array$
|
|
21592
|
-
return _array_with_holes$
|
|
21680
|
+
function _sliced_to_array$a(arr, i) {
|
|
21681
|
+
return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$b(arr, i) || _non_iterable_rest$a();
|
|
21593
21682
|
}
|
|
21594
21683
|
function _to_consumable_array$3(arr) {
|
|
21595
|
-
return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$
|
|
21684
|
+
return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$b(arr) || _non_iterable_spread$3();
|
|
21596
21685
|
}
|
|
21597
|
-
function _unsupported_iterable_to_array$
|
|
21686
|
+
function _unsupported_iterable_to_array$b(o, minLen) {
|
|
21598
21687
|
if (!o) return;
|
|
21599
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
21688
|
+
if (typeof o === "string") return _array_like_to_array$b(o, minLen);
|
|
21600
21689
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
21601
21690
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
21602
21691
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
21603
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
21692
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
|
|
21604
21693
|
}
|
|
21605
21694
|
function _ts_generator$a(thisArg, body) {
|
|
21606
21695
|
var f, y, t, _ = {
|
|
@@ -21704,20 +21793,20 @@ function _ts_generator$a(thisArg, body) {
|
|
|
21704
21793
|
function WhiteboardProvider(param) {
|
|
21705
21794
|
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;
|
|
21706
21795
|
var _boardState_activeShareSessionKey, _ref;
|
|
21707
|
-
var _useState = _sliced_to_array$
|
|
21708
|
-
var _useState1 = _sliced_to_array$
|
|
21709
|
-
var _useState2 = _sliced_to_array$
|
|
21710
|
-
var _useState3 = _sliced_to_array$
|
|
21796
|
+
var _useState = _sliced_to_array$a(useState(hasValidWhiteboardAuth(controlledAuth) ? controlledAuth : undefined), 2), auth = _useState[0], setAuthState = _useState[1];
|
|
21797
|
+
var _useState1 = _sliced_to_array$a(useState(controlledShareSessionKey), 2), shareSessionKey = _useState1[0], setShareSessionKey = _useState1[1];
|
|
21798
|
+
var _useState2 = _sliced_to_array$a(useState(hasValidWhiteboardAuth(controlledAuth) ? 'connecting' : 'standby'), 2), status = _useState2[0], setStatus = _useState2[1];
|
|
21799
|
+
var _useState3 = _sliced_to_array$a(useState({
|
|
21711
21800
|
activeShareSessionKey: controlledShareSessionKey,
|
|
21712
21801
|
confirmedRevision: 0,
|
|
21713
21802
|
headRevision: 0,
|
|
21714
21803
|
pendingOperationCount: 0
|
|
21715
21804
|
}), 2), boardState = _useState3[0], setBoardState = _useState3[1];
|
|
21716
|
-
var _useState4 = _sliced_to_array$
|
|
21717
|
-
var _useState5 = _sliced_to_array$
|
|
21718
|
-
var _useState6 = _sliced_to_array$
|
|
21719
|
-
var _useState7 = _sliced_to_array$
|
|
21720
|
-
var _useState8 = _sliced_to_array$
|
|
21805
|
+
var _useState4 = _sliced_to_array$a(useState('idle'), 2), recoveryStatus = _useState4[0], setRecoveryStatus = _useState4[1];
|
|
21806
|
+
var _useState5 = _sliced_to_array$a(useState(undefined), 2), recovery = _useState5[0], setRecovery = _useState5[1];
|
|
21807
|
+
var _useState6 = _sliced_to_array$a(useState(undefined), 2), committedEvent = _useState6[0], setCommittedEvent = _useState6[1];
|
|
21808
|
+
var _useState7 = _sliced_to_array$a(useState([]), 2), committedEvents = _useState7[0], setCommittedEvents = _useState7[1];
|
|
21809
|
+
var _useState8 = _sliced_to_array$a(useState({
|
|
21721
21810
|
state: 'idle'
|
|
21722
21811
|
}), 2), submitStatus = _useState8[0], setSubmitStatus = _useState8[1];
|
|
21723
21812
|
var authRef = useRef(auth);
|
|
@@ -22099,12 +22188,12 @@ function WhiteboardProvider(param) {
|
|
|
22099
22188
|
});
|
|
22100
22189
|
}
|
|
22101
22190
|
|
|
22102
|
-
function _array_like_to_array$
|
|
22191
|
+
function _array_like_to_array$a(arr, len) {
|
|
22103
22192
|
if (len == null || len > arr.length) len = arr.length;
|
|
22104
22193
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
22105
22194
|
return arr2;
|
|
22106
22195
|
}
|
|
22107
|
-
function _array_with_holes$
|
|
22196
|
+
function _array_with_holes$9(arr) {
|
|
22108
22197
|
if (Array.isArray(arr)) return arr;
|
|
22109
22198
|
}
|
|
22110
22199
|
function _define_property$7(obj, key, value) {
|
|
@@ -22120,7 +22209,7 @@ function _define_property$7(obj, key, value) {
|
|
|
22120
22209
|
}
|
|
22121
22210
|
return obj;
|
|
22122
22211
|
}
|
|
22123
|
-
function _iterable_to_array_limit$
|
|
22212
|
+
function _iterable_to_array_limit$9(arr, i) {
|
|
22124
22213
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
22125
22214
|
if (_i == null) return;
|
|
22126
22215
|
var _arr = [];
|
|
@@ -22144,7 +22233,7 @@ function _iterable_to_array_limit$8(arr, i) {
|
|
|
22144
22233
|
}
|
|
22145
22234
|
return _arr;
|
|
22146
22235
|
}
|
|
22147
|
-
function _non_iterable_rest$
|
|
22236
|
+
function _non_iterable_rest$9() {
|
|
22148
22237
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
22149
22238
|
}
|
|
22150
22239
|
function _object_spread$5(target) {
|
|
@@ -22181,16 +22270,16 @@ function _object_spread_props$4(target, source) {
|
|
|
22181
22270
|
}
|
|
22182
22271
|
return target;
|
|
22183
22272
|
}
|
|
22184
|
-
function _sliced_to_array$
|
|
22185
|
-
return _array_with_holes$
|
|
22273
|
+
function _sliced_to_array$9(arr, i) {
|
|
22274
|
+
return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$a(arr, i) || _non_iterable_rest$9();
|
|
22186
22275
|
}
|
|
22187
|
-
function _unsupported_iterable_to_array$
|
|
22276
|
+
function _unsupported_iterable_to_array$a(o, minLen) {
|
|
22188
22277
|
if (!o) return;
|
|
22189
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
22278
|
+
if (typeof o === "string") return _array_like_to_array$a(o, minLen);
|
|
22190
22279
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
22191
22280
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
22192
22281
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
22193
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
22282
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
|
|
22194
22283
|
}
|
|
22195
22284
|
var cameraVideoClassName = 'h-full w-full object-cover -scale-x-100';
|
|
22196
22285
|
var getTrackSource = function(trackRef) {
|
|
@@ -22257,7 +22346,7 @@ function useScreenShareAspectRatio(trackRef) {
|
|
|
22257
22346
|
var _trackRef_publication;
|
|
22258
22347
|
var trackSid = trackRef === null || trackRef === void 0 ? void 0 : (_trackRef_publication = trackRef.publication) === null || _trackRef_publication === void 0 ? void 0 : _trackRef_publication.trackSid;
|
|
22259
22348
|
var fallbackAspectRatio = getAspectRatio(trackRef);
|
|
22260
|
-
var _useState = _sliced_to_array$
|
|
22349
|
+
var _useState = _sliced_to_array$9(useState(), 2), intrinsicRatio = _useState[0], setIntrinsicRatio = _useState[1];
|
|
22261
22350
|
var aspectRatio = intrinsicRatio && (trackSid !== undefined ? intrinsicRatio.trackSid === trackSid : intrinsicRatio.trackSid === undefined && intrinsicRatio.trackRef === trackRef) ? intrinsicRatio.aspectRatio : fallbackAspectRatio;
|
|
22262
22351
|
var updateFromVideo = useCallback(function(event) {
|
|
22263
22352
|
var _event_currentTarget = event.currentTarget, videoWidth = _event_currentTarget.videoWidth, videoHeight = _event_currentTarget.videoHeight;
|
|
@@ -22281,12 +22370,12 @@ function useScreenShareAspectRatio(trackRef) {
|
|
|
22281
22370
|
function ScreenShareFrame(param) {
|
|
22282
22371
|
var trackRef = param.trackRef, aspectRatio = param.aspectRatio, onLoadedMetadata = param.onLoadedMetadata, onResize = param.onResize, whiteboard = param.whiteboard;
|
|
22283
22372
|
var frameRef = useRef(null);
|
|
22284
|
-
var _useState = _sliced_to_array$
|
|
22373
|
+
var _useState = _sliced_to_array$9(useState(), 2), frameSize = _useState[0], setFrameSize = _useState[1];
|
|
22285
22374
|
useLayoutEffect(function() {
|
|
22286
22375
|
var _frameRef_current;
|
|
22287
22376
|
var container = (_frameRef_current = frameRef.current) === null || _frameRef_current === void 0 ? void 0 : _frameRef_current.parentElement;
|
|
22288
22377
|
if (!container) return;
|
|
22289
|
-
var _aspectRatio_split_map = _sliced_to_array$
|
|
22378
|
+
var _aspectRatio_split_map = _sliced_to_array$9(aspectRatio.split('/').map(Number), 2), sourceWidth = _aspectRatio_split_map[0], sourceHeight = _aspectRatio_split_map[1];
|
|
22290
22379
|
var ratio = sourceWidth / sourceHeight;
|
|
22291
22380
|
var updateSize = function() {
|
|
22292
22381
|
var clientWidth = container.clientWidth, clientHeight = container.clientHeight;
|
|
@@ -22339,7 +22428,7 @@ function ScreenShareFrame(param) {
|
|
|
22339
22428
|
}
|
|
22340
22429
|
function RoomPlatformPrivateRoomStage(param) {
|
|
22341
22430
|
var callerExternalActorId = param.callerExternalActorId, studentExternalActorId = param.studentExternalActorId, activeScreenShareExternalActorId = param.activeScreenShareExternalActorId, controlBar = param.controlBar, whiteboard = param.whiteboard;
|
|
22342
|
-
var _useState = _sliced_to_array$
|
|
22431
|
+
var _useState = _sliced_to_array$9(useState(true), 2), sidebarOpen = _useState[0], setSidebarOpen = _useState[1];
|
|
22343
22432
|
var previousScreenShareExternalActorIdRef = useRef(activeScreenShareExternalActorId);
|
|
22344
22433
|
var previousShareSessionKeyRef = useRef(undefined);
|
|
22345
22434
|
var whiteboardContext = useContext(WhiteboardContext);
|
|
@@ -23061,13 +23150,13 @@ var WebSocketRealtimeTransport = /*#__PURE__*/ function() {
|
|
|
23061
23150
|
return WebSocketRealtimeTransport;
|
|
23062
23151
|
}();
|
|
23063
23152
|
|
|
23064
|
-
function _array_like_to_array$
|
|
23153
|
+
function _array_like_to_array$9(arr, len) {
|
|
23065
23154
|
if (len == null || len > arr.length) len = arr.length;
|
|
23066
23155
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
23067
23156
|
return arr2;
|
|
23068
23157
|
}
|
|
23069
23158
|
function _array_without_holes$2(arr) {
|
|
23070
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
23159
|
+
if (Array.isArray(arr)) return _array_like_to_array$9(arr);
|
|
23071
23160
|
}
|
|
23072
23161
|
function _class_call_check$1(instance, Constructor) {
|
|
23073
23162
|
if (!(instance instanceof Constructor)) {
|
|
@@ -23107,15 +23196,15 @@ function _non_iterable_spread$2() {
|
|
|
23107
23196
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
23108
23197
|
}
|
|
23109
23198
|
function _to_consumable_array$2(arr) {
|
|
23110
|
-
return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$
|
|
23199
|
+
return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$9(arr) || _non_iterable_spread$2();
|
|
23111
23200
|
}
|
|
23112
|
-
function _unsupported_iterable_to_array$
|
|
23201
|
+
function _unsupported_iterable_to_array$9(o, minLen) {
|
|
23113
23202
|
if (!o) return;
|
|
23114
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
23203
|
+
if (typeof o === "string") return _array_like_to_array$9(o, minLen);
|
|
23115
23204
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
23116
23205
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
23117
23206
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
23118
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
23207
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
|
|
23119
23208
|
}
|
|
23120
23209
|
var ChatClientState = /*#__PURE__*/ function() {
|
|
23121
23210
|
function ChatClientState() {
|
|
@@ -24404,12 +24493,12 @@ function ForwardMessageDialog(param) {
|
|
|
24404
24493
|
});
|
|
24405
24494
|
}
|
|
24406
24495
|
|
|
24407
|
-
function _array_like_to_array$
|
|
24496
|
+
function _array_like_to_array$8(arr, len) {
|
|
24408
24497
|
if (len == null || len > arr.length) len = arr.length;
|
|
24409
24498
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
24410
24499
|
return arr2;
|
|
24411
24500
|
}
|
|
24412
|
-
function _array_with_holes$
|
|
24501
|
+
function _array_with_holes$8(arr) {
|
|
24413
24502
|
if (Array.isArray(arr)) return arr;
|
|
24414
24503
|
}
|
|
24415
24504
|
function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -24441,7 +24530,7 @@ function _async_to_generator$5(fn) {
|
|
|
24441
24530
|
});
|
|
24442
24531
|
};
|
|
24443
24532
|
}
|
|
24444
|
-
function _iterable_to_array_limit$
|
|
24533
|
+
function _iterable_to_array_limit$8(arr, i) {
|
|
24445
24534
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
24446
24535
|
if (_i == null) return;
|
|
24447
24536
|
var _arr = [];
|
|
@@ -24465,19 +24554,19 @@ function _iterable_to_array_limit$7(arr, i) {
|
|
|
24465
24554
|
}
|
|
24466
24555
|
return _arr;
|
|
24467
24556
|
}
|
|
24468
|
-
function _non_iterable_rest$
|
|
24557
|
+
function _non_iterable_rest$8() {
|
|
24469
24558
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
24470
24559
|
}
|
|
24471
|
-
function _sliced_to_array$
|
|
24472
|
-
return _array_with_holes$
|
|
24560
|
+
function _sliced_to_array$8(arr, i) {
|
|
24561
|
+
return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
|
|
24473
24562
|
}
|
|
24474
|
-
function _unsupported_iterable_to_array$
|
|
24563
|
+
function _unsupported_iterable_to_array$8(o, minLen) {
|
|
24475
24564
|
if (!o) return;
|
|
24476
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
24565
|
+
if (typeof o === "string") return _array_like_to_array$8(o, minLen);
|
|
24477
24566
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
24478
24567
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
24479
24568
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
24480
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
24569
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
|
|
24481
24570
|
}
|
|
24482
24571
|
function _ts_generator$5(thisArg, body) {
|
|
24483
24572
|
var f, y, t, _ = {
|
|
@@ -24580,7 +24669,7 @@ function _ts_generator$5(thisArg, body) {
|
|
|
24580
24669
|
}
|
|
24581
24670
|
function MessageComposer(param) {
|
|
24582
24671
|
var canSend = param.canSend, className = param.className, onSend = param.onSend;
|
|
24583
|
-
var _useState = _sliced_to_array$
|
|
24672
|
+
var _useState = _sliced_to_array$8(useState(''), 2), text = _useState[0], setText = _useState[1];
|
|
24584
24673
|
if (!canSend) {
|
|
24585
24674
|
return /*#__PURE__*/ jsx("div", {
|
|
24586
24675
|
className: cx('navi-chat__readonly', className),
|
|
@@ -24696,16 +24785,16 @@ function MessageComposer(param) {
|
|
|
24696
24785
|
});
|
|
24697
24786
|
}
|
|
24698
24787
|
|
|
24699
|
-
function _array_like_to_array$
|
|
24788
|
+
function _array_like_to_array$7(arr, len) {
|
|
24700
24789
|
if (len == null || len > arr.length) len = arr.length;
|
|
24701
24790
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
24702
24791
|
return arr2;
|
|
24703
24792
|
}
|
|
24704
|
-
function _array_with_holes$
|
|
24793
|
+
function _array_with_holes$7(arr) {
|
|
24705
24794
|
if (Array.isArray(arr)) return arr;
|
|
24706
24795
|
}
|
|
24707
24796
|
function _array_without_holes$1(arr) {
|
|
24708
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
24797
|
+
if (Array.isArray(arr)) return _array_like_to_array$7(arr);
|
|
24709
24798
|
}
|
|
24710
24799
|
function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
|
|
24711
24800
|
try {
|
|
@@ -24746,7 +24835,7 @@ function _instanceof(left, right) {
|
|
|
24746
24835
|
function _iterable_to_array$1(iter) {
|
|
24747
24836
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
24748
24837
|
}
|
|
24749
|
-
function _iterable_to_array_limit$
|
|
24838
|
+
function _iterable_to_array_limit$7(arr, i) {
|
|
24750
24839
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
24751
24840
|
if (_i == null) return;
|
|
24752
24841
|
var _arr = [];
|
|
@@ -24770,25 +24859,25 @@ function _iterable_to_array_limit$6(arr, i) {
|
|
|
24770
24859
|
}
|
|
24771
24860
|
return _arr;
|
|
24772
24861
|
}
|
|
24773
|
-
function _non_iterable_rest$
|
|
24862
|
+
function _non_iterable_rest$7() {
|
|
24774
24863
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
24775
24864
|
}
|
|
24776
24865
|
function _non_iterable_spread$1() {
|
|
24777
24866
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
24778
24867
|
}
|
|
24779
|
-
function _sliced_to_array$
|
|
24780
|
-
return _array_with_holes$
|
|
24868
|
+
function _sliced_to_array$7(arr, i) {
|
|
24869
|
+
return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
|
|
24781
24870
|
}
|
|
24782
24871
|
function _to_consumable_array$1(arr) {
|
|
24783
|
-
return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$
|
|
24872
|
+
return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$7(arr) || _non_iterable_spread$1();
|
|
24784
24873
|
}
|
|
24785
|
-
function _unsupported_iterable_to_array$
|
|
24874
|
+
function _unsupported_iterable_to_array$7(o, minLen) {
|
|
24786
24875
|
if (!o) return;
|
|
24787
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
24876
|
+
if (typeof o === "string") return _array_like_to_array$7(o, minLen);
|
|
24788
24877
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
24789
24878
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
24790
24879
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
24791
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
24880
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
|
|
24792
24881
|
}
|
|
24793
24882
|
function _ts_generator$4(thisArg, body) {
|
|
24794
24883
|
var f, y, t, _ = {
|
|
@@ -24897,15 +24986,15 @@ function MessageList(param) {
|
|
|
24897
24986
|
var restoreScrollSnapshotRef = useRef(undefined);
|
|
24898
24987
|
var previousMessageCountRef = useRef(messages.length);
|
|
24899
24988
|
var previousMessagesRef = useRef(messages);
|
|
24900
|
-
var _useState = _sliced_to_array$
|
|
24901
|
-
var _useState1 = _sliced_to_array$
|
|
24902
|
-
var _useState2 = _sliced_to_array$
|
|
24989
|
+
var _useState = _sliced_to_array$7(useState(''), 2), draftText = _useState[0], setDraftText = _useState[1];
|
|
24990
|
+
var _useState1 = _sliced_to_array$7(useState(), 2), editingMessageId = _useState1[0], setEditingMessageId = _useState1[1];
|
|
24991
|
+
var _useState2 = _sliced_to_array$7(useState(), 2), openMenuMessageId = _useState2[0], setOpenMenuMessageId = _useState2[1];
|
|
24903
24992
|
var openMenuRef = useRef(null);
|
|
24904
|
-
var _useState3 = _sliced_to_array$
|
|
24993
|
+
var _useState3 = _sliced_to_array$7(useState(function() {
|
|
24905
24994
|
return now().getTime();
|
|
24906
24995
|
}), 2), currentTimeMs = _useState3[0], setCurrentTimeMs = _useState3[1];
|
|
24907
|
-
var _useState4 = _sliced_to_array$
|
|
24908
|
-
var _useState5 = _sliced_to_array$
|
|
24996
|
+
var _useState4 = _sliced_to_array$7(useState(true), 2), isAtLatest = _useState4[0], setIsAtLatest = _useState4[1];
|
|
24997
|
+
var _useState5 = _sliced_to_array$7(useState(false), 2), hasNewMessages = _useState5[0], setHasNewMessages = _useState5[1];
|
|
24909
24998
|
var orderedMessages = useMemo(function() {
|
|
24910
24999
|
return _to_consumable_array$1(messages).sort(compareMessagesByCreatedAt);
|
|
24911
25000
|
}, [
|
|
@@ -25328,12 +25417,12 @@ var formatTime = function(value) {
|
|
|
25328
25417
|
}).format(new Date(value));
|
|
25329
25418
|
};
|
|
25330
25419
|
|
|
25331
|
-
function _array_like_to_array$
|
|
25420
|
+
function _array_like_to_array$6(arr, len) {
|
|
25332
25421
|
if (len == null || len > arr.length) len = arr.length;
|
|
25333
25422
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
25334
25423
|
return arr2;
|
|
25335
25424
|
}
|
|
25336
|
-
function _array_with_holes$
|
|
25425
|
+
function _array_with_holes$6(arr) {
|
|
25337
25426
|
if (Array.isArray(arr)) return arr;
|
|
25338
25427
|
}
|
|
25339
25428
|
function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -25365,7 +25454,7 @@ function _async_to_generator$3(fn) {
|
|
|
25365
25454
|
});
|
|
25366
25455
|
};
|
|
25367
25456
|
}
|
|
25368
|
-
function _iterable_to_array_limit$
|
|
25457
|
+
function _iterable_to_array_limit$6(arr, i) {
|
|
25369
25458
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
25370
25459
|
if (_i == null) return;
|
|
25371
25460
|
var _arr = [];
|
|
@@ -25389,19 +25478,19 @@ function _iterable_to_array_limit$5(arr, i) {
|
|
|
25389
25478
|
}
|
|
25390
25479
|
return _arr;
|
|
25391
25480
|
}
|
|
25392
|
-
function _non_iterable_rest$
|
|
25481
|
+
function _non_iterable_rest$6() {
|
|
25393
25482
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
25394
25483
|
}
|
|
25395
|
-
function _sliced_to_array$
|
|
25396
|
-
return _array_with_holes$
|
|
25484
|
+
function _sliced_to_array$6(arr, i) {
|
|
25485
|
+
return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
|
|
25397
25486
|
}
|
|
25398
|
-
function _unsupported_iterable_to_array$
|
|
25487
|
+
function _unsupported_iterable_to_array$6(o, minLen) {
|
|
25399
25488
|
if (!o) return;
|
|
25400
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
25489
|
+
if (typeof o === "string") return _array_like_to_array$6(o, minLen);
|
|
25401
25490
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
25402
25491
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
25403
25492
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
25404
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
25493
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
|
|
25405
25494
|
}
|
|
25406
25495
|
function _ts_generator$3(thisArg, body) {
|
|
25407
25496
|
var f, y, t, _ = {
|
|
@@ -25506,7 +25595,7 @@ function ChatPanel(param) {
|
|
|
25506
25595
|
var className = param.className;
|
|
25507
25596
|
var _messagesByRoom_activeRoom_roomId, _ref, _ref1, _ref2;
|
|
25508
25597
|
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;
|
|
25509
|
-
var _useState = _sliced_to_array$
|
|
25598
|
+
var _useState = _sliced_to_array$6(useState(), 2), forwardingMessage = _useState[0], setForwardingMessage = _useState[1];
|
|
25510
25599
|
var activeRoom = findActiveRoom(rooms, activeRoomId);
|
|
25511
25600
|
var canRead = hasRoomPermission(activeRoom, 'read');
|
|
25512
25601
|
var canSend = hasRoomPermission(activeRoom, 'send');
|
|
@@ -25649,16 +25738,16 @@ var getRoomDisplayRole = function(room) {
|
|
|
25649
25738
|
return hasRoomPermission(room, 'forward') ? 'Quản trị' : 'Thành viên';
|
|
25650
25739
|
};
|
|
25651
25740
|
|
|
25652
|
-
function _array_like_to_array$
|
|
25741
|
+
function _array_like_to_array$5(arr, len) {
|
|
25653
25742
|
if (len == null || len > arr.length) len = arr.length;
|
|
25654
25743
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
25655
25744
|
return arr2;
|
|
25656
25745
|
}
|
|
25657
|
-
function _array_with_holes$
|
|
25746
|
+
function _array_with_holes$5(arr) {
|
|
25658
25747
|
if (Array.isArray(arr)) return arr;
|
|
25659
25748
|
}
|
|
25660
25749
|
function _array_without_holes(arr) {
|
|
25661
|
-
if (Array.isArray(arr)) return _array_like_to_array$
|
|
25750
|
+
if (Array.isArray(arr)) return _array_like_to_array$5(arr);
|
|
25662
25751
|
}
|
|
25663
25752
|
function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
|
|
25664
25753
|
try {
|
|
@@ -25705,7 +25794,7 @@ function _define_property$1(obj, key, value) {
|
|
|
25705
25794
|
function _iterable_to_array(iter) {
|
|
25706
25795
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
25707
25796
|
}
|
|
25708
|
-
function _iterable_to_array_limit$
|
|
25797
|
+
function _iterable_to_array_limit$5(arr, i) {
|
|
25709
25798
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
25710
25799
|
if (_i == null) return;
|
|
25711
25800
|
var _arr = [];
|
|
@@ -25729,7 +25818,7 @@ function _iterable_to_array_limit$4(arr, i) {
|
|
|
25729
25818
|
}
|
|
25730
25819
|
return _arr;
|
|
25731
25820
|
}
|
|
25732
|
-
function _non_iterable_rest$
|
|
25821
|
+
function _non_iterable_rest$5() {
|
|
25733
25822
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
25734
25823
|
}
|
|
25735
25824
|
function _non_iterable_spread() {
|
|
@@ -25769,23 +25858,23 @@ function _object_spread_props$1(target, source) {
|
|
|
25769
25858
|
}
|
|
25770
25859
|
return target;
|
|
25771
25860
|
}
|
|
25772
|
-
function _sliced_to_array$
|
|
25773
|
-
return _array_with_holes$
|
|
25861
|
+
function _sliced_to_array$5(arr, i) {
|
|
25862
|
+
return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$5();
|
|
25774
25863
|
}
|
|
25775
25864
|
function _to_consumable_array(arr) {
|
|
25776
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array$
|
|
25865
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array$5(arr) || _non_iterable_spread();
|
|
25777
25866
|
}
|
|
25778
25867
|
function _type_of(obj) {
|
|
25779
25868
|
"@swc/helpers - typeof";
|
|
25780
25869
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
25781
25870
|
}
|
|
25782
|
-
function _unsupported_iterable_to_array$
|
|
25871
|
+
function _unsupported_iterable_to_array$5(o, minLen) {
|
|
25783
25872
|
if (!o) return;
|
|
25784
|
-
if (typeof o === "string") return _array_like_to_array$
|
|
25873
|
+
if (typeof o === "string") return _array_like_to_array$5(o, minLen);
|
|
25785
25874
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
25786
25875
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
25787
25876
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
25788
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$
|
|
25877
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
|
|
25789
25878
|
}
|
|
25790
25879
|
function _ts_generator$2(thisArg, body) {
|
|
25791
25880
|
var f, y, t, _ = {
|
|
@@ -25893,15 +25982,15 @@ function ChatProvider(param) {
|
|
|
25893
25982
|
return new Date();
|
|
25894
25983
|
} : _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;
|
|
25895
25984
|
var _rooms_;
|
|
25896
|
-
var _useState = _sliced_to_array$
|
|
25897
|
-
var _useState1 = _sliced_to_array$
|
|
25898
|
-
var _useState2 = _sliced_to_array$
|
|
25899
|
-
var _useState3 = _sliced_to_array$
|
|
25900
|
-
var _useState4 = _sliced_to_array$
|
|
25901
|
-
var _useState5 = _sliced_to_array$
|
|
25902
|
-
var _useState6 = _sliced_to_array$
|
|
25903
|
-
var _useState7 = _sliced_to_array$
|
|
25904
|
-
var _useState8 = _sliced_to_array$
|
|
25985
|
+
var _useState = _sliced_to_array$5(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];
|
|
25986
|
+
var _useState1 = _sliced_to_array$5(useState({}), 2), hasMoreByRoom = _useState1[0], setHasMoreByRoom = _useState1[1];
|
|
25987
|
+
var _useState2 = _sliced_to_array$5(useState({}), 2), historyCursorsByRoom = _useState2[0], setHistoryCursorsByRoom = _useState2[1];
|
|
25988
|
+
var _useState3 = _sliced_to_array$5(useState({}), 2), isLoadingOlderByRoom = _useState3[0], setIsLoadingOlderByRoom = _useState3[1];
|
|
25989
|
+
var _useState4 = _sliced_to_array$5(useState(initialMessages), 2), messagesByRoom = _useState4[0], setMessagesByRoom = _useState4[1];
|
|
25990
|
+
var _useState5 = _sliced_to_array$5(useState({}), 2), onlineCountsByRoom = _useState5[0], setOnlineCountsByRoom = _useState5[1];
|
|
25991
|
+
var _useState6 = _sliced_to_array$5(useState({}), 2), roomLatestStateByRoom = _useState6[0], setRoomLatestStateByRoom = _useState6[1];
|
|
25992
|
+
var _useState7 = _sliced_to_array$5(useState('connecting'), 2), status = _useState7[0], setStatus = _useState7[1];
|
|
25993
|
+
var _useState8 = _sliced_to_array$5(useState({}), 2), unreadCountsByRoom = _useState8[0], setUnreadCountsByRoom = _useState8[1];
|
|
25905
25994
|
var currentSubject = useMemo(function() {
|
|
25906
25995
|
return subjectFromToken(token);
|
|
25907
25996
|
}, [
|
|
@@ -26328,7 +26417,7 @@ var isChatRoomPresenceDto = function(event) {
|
|
|
26328
26417
|
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');
|
|
26329
26418
|
};
|
|
26330
26419
|
var subjectFromToken = function(token) {
|
|
26331
|
-
var _token_split = _sliced_to_array$
|
|
26420
|
+
var _token_split = _sliced_to_array$5(token.split('.'), 2), payload = _token_split[1];
|
|
26332
26421
|
if (!payload) return undefined;
|
|
26333
26422
|
try {
|
|
26334
26423
|
var normalized = payload.replace(/-/g, '+').replace(/_/g, '/');
|
|
@@ -26340,6 +26429,96 @@ var subjectFromToken = function(token) {
|
|
|
26340
26429
|
}
|
|
26341
26430
|
};
|
|
26342
26431
|
|
|
26432
|
+
var roomPlatformGeneratedStyles = "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n .room-platform-room {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-400: oklch(76.5% 0.177 163.223);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n --color-sky-50: oklch(97.7% 0.013 236.62);\n --color-sky-200: oklch(90.1% 0.058 230.902);\n --color-sky-950: oklch(29.3% 0.066 243.157);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-2xl: 42rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-widest: 0.1em;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-4xl: 2rem;\n --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --blur-xs: 4px;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-background: #ffffff;\n --color-foreground: oklch(0.145 0 0);\n --color-card: #ffffff;\n --color-card-foreground: oklch(0.145 0 0);\n --color-popover: #ffffff;\n --color-popover-foreground: oklch(0.145 0 0);\n --color-primary: #242f62;\n --color-primary-foreground: #ffffff;\n --color-secondary: #eb6619;\n --color-secondary-foreground: #ffffff;\n --color-muted: oklch(0.97 0 0);\n --color-muted-foreground: oklch(0.556 0 0);\n --color-accent: oklch(0.97 0 0);\n --color-accent-foreground: oklch(0.205 0 0);\n --color-destructive: oklch(0.577 0.245 27.325);\n --color-border: oklch(0.922 0 0);\n --color-input: oklch(0.922 0 0);\n --color-ring: #9dc2f3;\n --color-liveclass-orange: #eb6619;\n }\n}\n@layer base {\n .room-platform-room *, .room-platform-room ::after, .room-platform-room ::before, .room-platform-room ::backdrop, .room-platform-room ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n .room-platform-room html, .room-platform-room {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n 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\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n .room-platform-room hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n .room-platform-room abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n .room-platform-room h1, .room-platform-room h2, .room-platform-room h3, .room-platform-room h4, .room-platform-room h5, .room-platform-room h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n .room-platform-room a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n .room-platform-room b, .room-platform-room strong {\n font-weight: bolder;\n }\n .room-platform-room code, .room-platform-room kbd, .room-platform-room samp, .room-platform-room pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n .room-platform-room small {\n font-size: 80%;\n }\n .room-platform-room sub, .room-platform-room sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n .room-platform-room sub {\n bottom: -0.25em;\n }\n .room-platform-room sup {\n top: -0.5em;\n }\n .room-platform-room table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n .room-platform-room :-moz-focusring {\n outline: auto;\n }\n .room-platform-room progress {\n vertical-align: baseline;\n }\n .room-platform-room summary {\n display: list-item;\n }\n .room-platform-room ol, .room-platform-room ul, .room-platform-room menu {\n list-style: none;\n }\n .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 {\n display: block;\n vertical-align: middle;\n }\n .room-platform-room img, .room-platform-room video {\n max-width: 100%;\n height: auto;\n }\n .room-platform-room button, .room-platform-room input, .room-platform-room select, .room-platform-room optgroup, .room-platform-room textarea, .room-platform-room ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n .room-platform-room :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n .room-platform-room :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n .room-platform-room ::file-selector-button {\n margin-inline-end: 4px;\n }\n .room-platform-room ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n .room-platform-room ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n .room-platform-room textarea {\n resize: vertical;\n }\n .room-platform-room ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n .room-platform-room ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n .room-platform-room ::-webkit-datetime-edit {\n display: inline-flex;\n }\n .room-platform-room ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n .room-platform-room ::-webkit-datetime-edit, .room-platform-room ::-webkit-datetime-edit-year-field, .room-platform-room ::-webkit-datetime-edit-month-field, .room-platform-room ::-webkit-datetime-edit-day-field, .room-platform-room ::-webkit-datetime-edit-hour-field, .room-platform-room ::-webkit-datetime-edit-minute-field, .room-platform-room ::-webkit-datetime-edit-second-field, .room-platform-room ::-webkit-datetime-edit-millisecond-field, .room-platform-room ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n .room-platform-room ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n .room-platform-room :-moz-ui-invalid {\n box-shadow: none;\n }\n .room-platform-room button, .room-platform-room input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), .room-platform-room ::file-selector-button {\n appearance: button;\n }\n .room-platform-room ::-webkit-inner-spin-button, .room-platform-room ::-webkit-outer-spin-button {\n height: auto;\n }\n .room-platform-room [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .room-platform-room .\\@container\\/card-header {\n container-type: inline-size;\n container-name: card-header;\n }\n .room-platform-room .\\@container\\/field-group {\n container-type: inline-size;\n container-name: field-group;\n }\n .room-platform-room .pointer-events-auto {\n pointer-events: auto;\n }\n .room-platform-room .pointer-events-none {\n pointer-events: none;\n }\n .room-platform-room .invisible {\n visibility: hidden;\n }\n .room-platform-room .visible {\n visibility: visible;\n }\n .room-platform-room .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n }\n .room-platform-room .absolute {\n position: absolute;\n }\n .room-platform-room .fixed {\n position: fixed;\n }\n .room-platform-room .relative {\n position: relative;\n }\n .room-platform-room .static {\n position: static;\n }\n .room-platform-room .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .room-platform-room .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n .room-platform-room .inset-x-3 {\n inset-inline: calc(var(--spacing) * 3);\n }\n .room-platform-room .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n .room-platform-room .start {\n inset-inline-start: var(--spacing);\n }\n .room-platform-room .end {\n inset-inline-end: var(--spacing);\n }\n .room-platform-room .-top-12 {\n top: calc(var(--spacing) * -12);\n }\n .room-platform-room .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .room-platform-room .top-1\\.5 {\n top: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .room-platform-room .top-2 {\n top: calc(var(--spacing) * 2);\n }\n .room-platform-room .top-3 {\n top: calc(var(--spacing) * 3);\n }\n .room-platform-room .top-3\\.5 {\n top: calc(var(--spacing) * 3.5);\n }\n .room-platform-room .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .room-platform-room .top-7 {\n top: calc(var(--spacing) * 7);\n }\n .room-platform-room .-right-12 {\n right: calc(var(--spacing) * -12);\n }\n .room-platform-room .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .room-platform-room .right-1 {\n right: calc(var(--spacing) * 1);\n }\n .room-platform-room .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .room-platform-room .right-3 {\n right: calc(var(--spacing) * 3);\n }\n .room-platform-room .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .room-platform-room .right-7 {\n right: calc(var(--spacing) * 7);\n }\n .room-platform-room .-bottom-12 {\n bottom: calc(var(--spacing) * -12);\n }\n .room-platform-room .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .room-platform-room .bottom-1 {\n bottom: calc(var(--spacing) * 1);\n }\n .room-platform-room .bottom-2 {\n bottom: calc(var(--spacing) * 2);\n }\n .room-platform-room .bottom-3 {\n bottom: calc(var(--spacing) * 3);\n }\n .room-platform-room .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .room-platform-room .-left-12 {\n left: calc(var(--spacing) * -12);\n }\n .room-platform-room .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .room-platform-room .left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .room-platform-room .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .room-platform-room .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .room-platform-room .left-4 {\n left: calc(var(--spacing) * 4);\n }\n .room-platform-room .isolate {\n isolation: isolate;\n }\n .room-platform-room .z-0 {\n z-index: 0;\n }\n .room-platform-room .z-10 {\n z-index: 10;\n }\n .room-platform-room .z-20 {\n z-index: 20;\n }\n .room-platform-room .z-30 {\n z-index: 30;\n }\n .room-platform-room .z-40 {\n z-index: 40;\n }\n .room-platform-room .z-50 {\n z-index: 50;\n }\n .room-platform-room .z-\\[70\\] {\n z-index: 70;\n }\n .room-platform-room .order-first {\n order: -9999;\n }\n .room-platform-room .order-last {\n order: 9999;\n }\n .room-platform-room .col-start-2 {\n grid-column-start: 2;\n }\n .room-platform-room .row-span-2 {\n grid-row: span 2 / span 2;\n }\n .room-platform-room .row-start-1 {\n grid-row-start: 1;\n }\n .room-platform-room .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .room-platform-room .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .room-platform-room .m-auto {\n margin: auto;\n }\n .room-platform-room .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n .room-platform-room .-mx-4 {\n margin-inline: calc(var(--spacing) * -4);\n }\n .room-platform-room .mx-2 {\n margin-inline: calc(var(--spacing) * 2);\n }\n .room-platform-room .mx-3\\.5 {\n margin-inline: calc(var(--spacing) * 3.5);\n }\n .room-platform-room .mx-auto {\n margin-inline: auto;\n }\n .room-platform-room .-my-2 {\n margin-block: calc(var(--spacing) * -2);\n }\n .room-platform-room .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n .room-platform-room .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n .room-platform-room .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .room-platform-room .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .room-platform-room .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .room-platform-room .mt-auto {\n margin-top: auto;\n }\n .room-platform-room .-mb-4 {\n margin-bottom: calc(var(--spacing) * -4);\n }\n .room-platform-room .mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .room-platform-room .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n .room-platform-room .-ml-1 {\n margin-left: calc(var(--spacing) * -1);\n }\n .room-platform-room .-ml-4 {\n margin-left: calc(var(--spacing) * -4);\n }\n .room-platform-room .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n .room-platform-room .ml-auto {\n margin-left: auto;\n }\n .room-platform-room .no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n .room-platform-room &::-webkit-scrollbar {\n display: none;\n }\n }\n .room-platform-room .block {\n display: block;\n }\n .room-platform-room .flex {\n display: flex;\n }\n .room-platform-room .grid {\n display: grid;\n }\n .room-platform-room .hidden {\n display: none;\n }\n .room-platform-room .inline {\n display: inline;\n }\n .room-platform-room .inline-flex {\n display: inline-flex;\n }\n .room-platform-room .inline-grid {\n display: inline-grid;\n }\n .room-platform-room .table {\n display: table;\n }\n .room-platform-room .table-caption {\n display: table-caption;\n }\n .room-platform-room .table-cell {\n display: table-cell;\n }\n .room-platform-room .table-row {\n display: table-row;\n }\n .room-platform-room .field-sizing-content {\n field-sizing: content;\n }\n .room-platform-room .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .room-platform-room .aspect-video {\n aspect-ratio: var(--aspect-video);\n }\n .room-platform-room .size-\\(--cell-size\\) {\n width: var(--cell-size);\n height: var(--cell-size);\n }\n .room-platform-room .size-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .size-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n .room-platform-room .size-4 {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n .room-platform-room .size-5 {\n width: calc(var(--spacing) * 5);\n height: calc(var(--spacing) * 5);\n }\n .room-platform-room .size-6 {\n width: calc(var(--spacing) * 6);\n height: calc(var(--spacing) * 6);\n }\n .room-platform-room .size-7 {\n width: calc(var(--spacing) * 7);\n height: calc(var(--spacing) * 7);\n }\n .room-platform-room .size-8 {\n width: calc(var(--spacing) * 8);\n height: calc(var(--spacing) * 8);\n }\n .room-platform-room .size-9 {\n width: calc(var(--spacing) * 9);\n height: calc(var(--spacing) * 9);\n }\n .room-platform-room .size-10 {\n width: calc(var(--spacing) * 10);\n height: calc(var(--spacing) * 10);\n }\n .room-platform-room .size-12 {\n width: calc(var(--spacing) * 12);\n height: calc(var(--spacing) * 12);\n }\n .room-platform-room .size-auto {\n width: auto;\n height: auto;\n }\n .room-platform-room .size-full {\n width: 100%;\n height: 100%;\n }\n .room-platform-room .h-\\(--cell-size\\) {\n height: var(--cell-size);\n }\n .room-platform-room .h-1 {\n height: calc(var(--spacing) * 1);\n }\n .room-platform-room .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .room-platform-room .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .room-platform-room .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .room-platform-room .h-7 {\n height: calc(var(--spacing) * 7);\n }\n .room-platform-room .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .room-platform-room .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .room-platform-room .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .room-platform-room .h-10\\! {\n height: calc(var(--spacing) * 10) !important;\n }\n .room-platform-room .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .room-platform-room .h-\\[calc\\(--spacing\\(5\\.25\\)\\)\\] {\n height: calc(calc(var(--spacing) * 5.25));\n }\n .room-platform-room .h-\\[calc\\(100\\%-1px\\)\\] {\n height: calc(100% - 1px);\n }\n .room-platform-room .h-auto {\n height: auto;\n }\n .room-platform-room .h-dvh {\n height: 100dvh;\n }\n .room-platform-room .h-full {\n height: 100%;\n }\n .room-platform-room .h-px {\n height: 1px;\n }\n .room-platform-room .h-screen {\n height: 100vh;\n }\n .room-platform-room .h-svh {\n height: 100svh;\n }\n .room-platform-room .max-h-\\(--available-height\\) {\n max-height: var(--available-height);\n }\n .room-platform-room .max-h-\\(--radix-dropdown-menu-content-available-height\\) {\n max-height: var(--radix-dropdown-menu-content-available-height);\n }\n .room-platform-room .max-h-\\(--radix-select-content-available-height\\) {\n max-height: var(--radix-select-content-available-height);\n }\n .room-platform-room .max-h-\\[85vh\\] {\n max-height: 85vh;\n }\n .room-platform-room .max-h-\\[min\\(calc\\(--spacing\\(72\\)---spacing\\(9\\)\\)\\,calc\\(var\\(--available-height\\)---spacing\\(9\\)\\)\\)\\] {\n max-height: min(calc(calc(var(--spacing) * 72) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)));\n }\n .room-platform-room .max-h-full {\n max-height: 100%;\n }\n .room-platform-room .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n .room-platform-room .min-h-8 {\n min-height: calc(var(--spacing) * 8);\n }\n .room-platform-room .min-h-10 {\n min-height: calc(var(--spacing) * 10);\n }\n .room-platform-room .min-h-16 {\n min-height: calc(var(--spacing) * 16);\n }\n .room-platform-room .min-h-18 {\n min-height: calc(var(--spacing) * 18);\n }\n .room-platform-room .min-h-\\[320px\\] {\n min-height: 320px;\n }\n .room-platform-room .min-h-dvh {\n min-height: 100dvh;\n }\n .room-platform-room .min-h-svh {\n min-height: 100svh;\n }\n .room-platform-room .w-\\(--anchor-width\\) {\n width: var(--anchor-width);\n }\n .room-platform-room .w-\\(--cell-size\\) {\n width: var(--cell-size);\n }\n .room-platform-room .w-\\(--radix-dropdown-menu-trigger-width\\) {\n width: var(--radix-dropdown-menu-trigger-width);\n }\n .room-platform-room .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .room-platform-room .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .room-platform-room .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .room-platform-room .w-48 {\n width: calc(var(--spacing) * 48);\n }\n .room-platform-room .w-72 {\n width: calc(var(--spacing) * 72);\n }\n .room-platform-room .w-\\[var\\(--sidebar-width\\)\\] {\n width: var(--sidebar-width);\n }\n .room-platform-room .w-auto {\n width: auto;\n }\n .room-platform-room .w-dvw {\n width: 100dvw;\n }\n .room-platform-room .w-fit {\n width: fit-content;\n }\n .room-platform-room .w-full {\n width: 100%;\n }\n .room-platform-room .w-full\\! {\n width: 100% !important;\n }\n .room-platform-room .w-screen {\n width: 100vw;\n }\n .room-platform-room .max-w-\\(--available-width\\) {\n max-width: var(--available-width);\n }\n .room-platform-room .max-w-\\[40\\%\\] {\n max-width: 40%;\n }\n .room-platform-room .max-w-\\[calc\\(100\\%-1\\.5rem\\)\\] {\n max-width: calc(100% - 1.5rem);\n }\n .room-platform-room .max-w-\\[calc\\(100\\%-1rem\\)\\] {\n max-width: calc(100% - 1rem);\n }\n .room-platform-room .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n }\n .room-platform-room .max-w-\\[var\\(--skeleton-width\\)\\] {\n max-width: var(--skeleton-width);\n }\n .room-platform-room .max-w-full {\n max-width: 100%;\n }\n .room-platform-room .max-w-none {\n max-width: none;\n }\n .room-platform-room .max-w-xs {\n max-width: var(--container-xs);\n }\n .room-platform-room .min-w-\\(--cell-size\\) {\n min-width: var(--cell-size);\n }\n .room-platform-room .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .room-platform-room .min-w-5 {\n min-width: calc(var(--spacing) * 5);\n }\n .room-platform-room .min-w-7 {\n min-width: calc(var(--spacing) * 7);\n }\n .room-platform-room .min-w-8 {\n min-width: calc(var(--spacing) * 8);\n }\n .room-platform-room .min-w-9 {\n min-width: calc(var(--spacing) * 9);\n }\n .room-platform-room .min-w-16 {\n min-width: calc(var(--spacing) * 16);\n }\n .room-platform-room .min-w-32 {\n min-width: calc(var(--spacing) * 32);\n }\n .room-platform-room .min-w-36 {\n min-width: calc(var(--spacing) * 36);\n }\n .room-platform-room .min-w-\\[96px\\] {\n min-width: 96px;\n }\n .room-platform-room .min-w-\\[calc\\(var\\(--anchor-width\\)\\+--spacing\\(7\\)\\)\\] {\n min-width: calc(var(--anchor-width) + calc(var(--spacing) * 7));\n }\n .room-platform-room .flex-1 {\n flex: 1;\n }\n .room-platform-room .flex-none {\n flex: none;\n }\n .room-platform-room .shrink-0 {\n flex-shrink: 0;\n }\n .room-platform-room .grow-0 {\n flex-grow: 0;\n }\n .room-platform-room .basis-full {\n flex-basis: 100%;\n }\n .room-platform-room .caption-bottom {\n caption-side: bottom;\n }\n .room-platform-room .origin-\\(--radix-dropdown-menu-content-transform-origin\\) {\n transform-origin: var(--radix-dropdown-menu-content-transform-origin);\n }\n .room-platform-room .origin-\\(--radix-popover-content-transform-origin\\) {\n transform-origin: var(--radix-popover-content-transform-origin);\n }\n .room-platform-room .origin-\\(--radix-select-content-transform-origin\\) {\n transform-origin: var(--radix-select-content-transform-origin);\n }\n .room-platform-room .origin-\\(--transform-origin\\) {\n transform-origin: var(--transform-origin);\n }\n .room-platform-room .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .-translate-x-full {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .-translate-x-px {\n --tw-translate-x: -1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .translate-x-px {\n --tw-translate-x: 1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .translate-y-\\[calc\\(-50\\%_-_2px\\)\\] {\n --tw-translate-y: calc(-50% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .translate-y-\\[calc\\(100\\%-0\\.75rem\\)\\] {\n --tw-translate-y: calc(100% - 0.75rem);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .-scale-x-100 {\n --tw-scale-x: calc(100% * -1);\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .room-platform-room .rotate-45 {\n rotate: 45deg;\n }\n .room-platform-room .rotate-90 {\n rotate: 90deg;\n }\n .room-platform-room .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .room-platform-room .animate-in {\n 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);\n }\n .room-platform-room .animate-pulse {\n animation: var(--animate-pulse);\n }\n .room-platform-room .animate-spin {\n animation: var(--animate-spin);\n }\n .room-platform-room .cursor-default {\n cursor: default;\n }\n .room-platform-room .cursor-not-allowed {\n cursor: not-allowed;\n }\n .room-platform-room .cursor-pointer {\n cursor: pointer;\n }\n .room-platform-room .cursor-text {\n cursor: text;\n }\n .room-platform-room .touch-manipulation {\n touch-action: manipulation;\n }\n .room-platform-room .resize {\n resize: both;\n }\n .room-platform-room .resize-none {\n resize: none;\n }\n .room-platform-room .scroll-my-1 {\n scroll-margin-block: calc(var(--spacing) * 1);\n }\n .room-platform-room .scroll-py-1 {\n scroll-padding-block: calc(var(--spacing) * 1);\n }\n .room-platform-room .list-disc {\n list-style-type: disc;\n }\n .room-platform-room .auto-rows-min {\n grid-auto-rows: min-content;\n }\n .room-platform-room .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .room-platform-room .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .room-platform-room .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .room-platform-room .grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .room-platform-room .grid-rows-\\[auto_1fr\\] {\n grid-template-rows: auto 1fr;\n }\n .room-platform-room .grid-rows-\\[auto_minmax\\(0\\,1fr\\)\\] {\n grid-template-rows: auto minmax(0,1fr);\n }\n .room-platform-room .grid-rows-\\[minmax\\(240px\\,45dvh\\)_minmax\\(0\\,1fr\\)\\] {\n grid-template-rows: minmax(240px,45dvh) minmax(0,1fr);\n }\n .room-platform-room .flex-col {\n flex-direction: column;\n }\n .room-platform-room .flex-col-reverse {\n flex-direction: column-reverse;\n }\n .room-platform-room .flex-row {\n flex-direction: row;\n }\n .room-platform-room .flex-wrap {\n flex-wrap: wrap;\n }\n .room-platform-room .place-content-center {\n place-content: center;\n }\n .room-platform-room .place-items-center {\n place-items: center;\n }\n .room-platform-room .content-start {\n align-content: flex-start;\n }\n .room-platform-room .items-center {\n align-items: center;\n }\n .room-platform-room .items-start {\n align-items: flex-start;\n }\n .room-platform-room .items-stretch {\n align-items: stretch;\n }\n .room-platform-room .justify-between {\n justify-content: space-between;\n }\n .room-platform-room .justify-center {\n justify-content: center;\n }\n .room-platform-room .justify-end {\n justify-content: flex-end;\n }\n .room-platform-room .justify-start {\n justify-content: flex-start;\n }\n .room-platform-room .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .room-platform-room .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5);\n }\n .room-platform-room .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .room-platform-room .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .room-platform-room .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .room-platform-room .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .room-platform-room .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .room-platform-room .gap-\\[--spacing\\(var\\(--gap\\)\\)\\] {\n gap: calc(var(--spacing) * var(--gap));\n }\n .room-platform-room .self-start {\n align-self: flex-start;\n }\n .room-platform-room .self-stretch {\n align-self: stretch;\n }\n .room-platform-room .justify-self-end {\n justify-self: flex-end;\n }\n .room-platform-room .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .room-platform-room .overflow-auto {\n overflow: auto;\n }\n .room-platform-room .overflow-hidden {\n overflow: hidden;\n }\n .room-platform-room .overflow-x-auto {\n overflow-x: auto;\n }\n .room-platform-room .overflow-x-hidden {\n overflow-x: hidden;\n }\n .room-platform-room .overflow-y-auto {\n overflow-y: auto;\n }\n .room-platform-room .overscroll-contain {\n overscroll-behavior: contain;\n }\n .room-platform-room .rounded-\\(--cell-radius\\) {\n border-radius: var(--cell-radius);\n }\n .room-platform-room .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n .room-platform-room .rounded-4xl {\n border-radius: var(--radius-4xl);\n }\n .room-platform-room .rounded-\\[2px\\] {\n border-radius: 2px;\n }\n .room-platform-room .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n .room-platform-room .rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\] {\n border-radius: calc(var(--radius) - 3px);\n }\n .room-platform-room .rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\] {\n border-radius: min(var(--radius-md), 10px);\n }\n .room-platform-room .rounded-\\[min\\(var\\(--radius-md\\)\\,12px\\)\\] {\n border-radius: min(var(--radius-md), 12px);\n }\n .room-platform-room .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .room-platform-room .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .room-platform-room .rounded-md {\n border-radius: var(--radius-md);\n }\n .room-platform-room .rounded-none {\n border-radius: 0;\n }\n .room-platform-room .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .room-platform-room .rounded-xl {\n border-radius: var(--radius-xl);\n }\n .room-platform-room .rounded-t-xl {\n border-top-left-radius: var(--radius-xl);\n border-top-right-radius: var(--radius-xl);\n }\n .room-platform-room .rounded-l-\\(--cell-radius\\) {\n border-top-left-radius: var(--cell-radius);\n border-bottom-left-radius: var(--cell-radius);\n }\n .room-platform-room .rounded-l-lg {\n border-top-left-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n .room-platform-room .rounded-r-\\(--cell-radius\\) {\n border-top-right-radius: var(--cell-radius);\n border-bottom-right-radius: var(--cell-radius);\n }\n .room-platform-room .rounded-b-xl {\n border-bottom-right-radius: var(--radius-xl);\n border-bottom-left-radius: var(--radius-xl);\n }\n .room-platform-room .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .room-platform-room .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .room-platform-room .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .room-platform-room .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .room-platform-room .border-r-0 {\n border-right-style: var(--tw-border-style);\n border-right-width: 0px;\n }\n .room-platform-room .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .room-platform-room .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .room-platform-room .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .room-platform-room .border-\\[\\#2563EB\\] {\n border-color: #2563EB;\n }\n .room-platform-room .border-amber-200 {\n border-color: var(--color-amber-200);\n }\n .room-platform-room .border-border {\n border-color: var(--color-border);\n }\n .room-platform-room .border-emerald-200 {\n border-color: var(--color-emerald-200);\n }\n .room-platform-room .border-input {\n border-color: var(--color-input);\n }\n .room-platform-room .border-liveclass-orange {\n border-color: var(--color-liveclass-orange);\n }\n .room-platform-room .border-liveclass-orange\\/30 {\n border-color: color-mix(in srgb, #eb6619 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-liveclass-orange) 30%, transparent);\n }\n }\n .room-platform-room .border-primary\\/10 {\n border-color: color-mix(in srgb, #242f62 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .room-platform-room .border-red-200 {\n border-color: var(--color-red-200);\n }\n .room-platform-room .border-red-300\\/40 {\n border-color: color-mix(in srgb, oklch(80.8% 0.114 19.571) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-red-300) 40%, transparent);\n }\n }\n .room-platform-room .border-sky-200 {\n border-color: var(--color-sky-200);\n }\n .room-platform-room .border-slate-200 {\n border-color: var(--color-slate-200);\n }\n .room-platform-room .border-slate-300 {\n border-color: var(--color-slate-300);\n }\n .room-platform-room .border-transparent {\n border-color: transparent;\n }\n .room-platform-room .border-white {\n border-color: var(--color-white);\n }\n .room-platform-room .border-white\\/10 {\n border-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n .room-platform-room .border-white\\/20 {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n .room-platform-room .border-white\\/30 {\n border-color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n .room-platform-room .bg-amber-50 {\n background-color: var(--color-amber-50);\n }\n .room-platform-room .bg-background {\n background-color: var(--color-background);\n }\n .room-platform-room .bg-black {\n background-color: var(--color-black);\n }\n .room-platform-room .bg-black\\/10 {\n background-color: color-mix(in srgb, #000 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n .room-platform-room .bg-black\\/20 {\n background-color: color-mix(in srgb, #000 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 20%, transparent);\n }\n }\n .room-platform-room .bg-border {\n background-color: var(--color-border);\n }\n .room-platform-room .bg-card {\n background-color: var(--color-card);\n }\n .room-platform-room .bg-destructive\\/10 {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);\n }\n }\n .room-platform-room .bg-emerald-50 {\n background-color: var(--color-emerald-50);\n }\n .room-platform-room .bg-input {\n background-color: var(--color-input);\n }\n .room-platform-room .bg-liveclass-orange {\n background-color: var(--color-liveclass-orange);\n }\n .room-platform-room .bg-liveclass-orange\\/10 {\n background-color: color-mix(in srgb, #eb6619 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-liveclass-orange) 10%, transparent);\n }\n }\n .room-platform-room .bg-muted {\n background-color: var(--color-muted);\n }\n .room-platform-room .bg-muted\\/50 {\n background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n .room-platform-room .bg-popover {\n background-color: var(--color-popover);\n }\n .room-platform-room .bg-primary {\n background-color: var(--color-primary);\n }\n .room-platform-room .bg-primary\\/10 {\n background-color: color-mix(in srgb, #242f62 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .room-platform-room .bg-red-50 {\n background-color: var(--color-red-50);\n }\n .room-platform-room .bg-secondary {\n background-color: var(--color-secondary);\n }\n .room-platform-room .bg-sky-50 {\n background-color: var(--color-sky-50);\n }\n .room-platform-room .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .room-platform-room .bg-slate-900 {\n background-color: var(--color-slate-900);\n }\n .room-platform-room .bg-slate-900\\/45 {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 45%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 45%, transparent);\n }\n }\n .room-platform-room .bg-slate-950 {\n background-color: var(--color-slate-950);\n }\n .room-platform-room .bg-slate-950\\/40 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 40%, transparent);\n }\n }\n .room-platform-room .bg-slate-950\\/75 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 75%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 75%, transparent);\n }\n }\n .room-platform-room .bg-slate-950\\/80 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 80%, transparent);\n }\n }\n .room-platform-room .bg-slate-950\\/90 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 90%, transparent);\n }\n }\n .room-platform-room .bg-transparent {\n background-color: transparent;\n }\n .room-platform-room .bg-white {\n background-color: var(--color-white);\n }\n .room-platform-room .bg-white\\/90 {\n background-color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n .room-platform-room .bg-clip-padding {\n background-clip: padding-box;\n }\n .room-platform-room .fill-primary {\n fill: var(--color-primary);\n }\n .room-platform-room .object-contain {\n object-fit: contain;\n }\n .room-platform-room .object-cover {\n object-fit: cover;\n }\n .room-platform-room .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n .room-platform-room .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .room-platform-room .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .room-platform-room .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .room-platform-room .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .room-platform-room .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .room-platform-room .p-\\[3px\\] {\n padding: 3px;\n }\n .room-platform-room .px-\\(--cell-size\\) {\n padding-inline: var(--cell-size);\n }\n .room-platform-room .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .room-platform-room .px-1\\.5 {\n padding-inline: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .room-platform-room .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .room-platform-room .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n .room-platform-room .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .room-platform-room .py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n }\n .room-platform-room .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .room-platform-room .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .room-platform-room .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .room-platform-room .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .room-platform-room .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .room-platform-room .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .room-platform-room .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n .room-platform-room .pr-8 {\n padding-right: calc(var(--spacing) * 8);\n }\n .room-platform-room .pr-10 {\n padding-right: calc(var(--spacing) * 10);\n }\n .room-platform-room .pr-20 {\n padding-right: calc(var(--spacing) * 20);\n }\n .room-platform-room .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .room-platform-room .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .room-platform-room .pl-1\\.5 {\n padding-left: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n .room-platform-room .pl-2\\.5 {\n padding-left: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n .room-platform-room .text-center {\n text-align: center;\n }\n .room-platform-room .text-left {\n text-align: left;\n }\n .room-platform-room .align-middle {\n vertical-align: middle;\n }\n .room-platform-room .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .room-platform-room .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .room-platform-room .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .room-platform-room .text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n }\n .room-platform-room .leading-5 {\n --tw-leading: calc(var(--spacing) * 5);\n line-height: calc(var(--spacing) * 5);\n }\n .room-platform-room .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .room-platform-room .leading-normal {\n --tw-leading: var(--leading-normal);\n line-height: var(--leading-normal);\n }\n .room-platform-room .leading-snug {\n --tw-leading: var(--leading-snug);\n line-height: var(--leading-snug);\n }\n .room-platform-room .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .room-platform-room .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .room-platform-room .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n .room-platform-room .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .room-platform-room .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .room-platform-room .text-balance {\n text-wrap: balance;\n }\n .room-platform-room .whitespace-nowrap {\n white-space: nowrap;\n }\n .room-platform-room .text-\\[\\#2563EB\\] {\n color: #2563EB;\n }\n .room-platform-room .text-amber-700 {\n color: var(--color-amber-700);\n }\n .room-platform-room .text-amber-950 {\n color: var(--color-amber-950);\n }\n .room-platform-room .text-card-foreground {\n color: var(--color-card-foreground);\n }\n .room-platform-room .text-current {\n color: currentcolor;\n }\n .room-platform-room .text-destructive {\n color: var(--color-destructive);\n }\n .room-platform-room .text-emerald-950 {\n color: var(--color-emerald-950);\n }\n .room-platform-room .text-foreground {\n color: var(--color-foreground);\n }\n .room-platform-room .text-foreground\\/60 {\n color: color-mix(in srgb, oklch(0.145 0 0) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-foreground) 60%, transparent);\n }\n }\n .room-platform-room .text-liveclass-orange {\n color: var(--color-liveclass-orange);\n }\n .room-platform-room .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .room-platform-room .text-popover-foreground {\n color: var(--color-popover-foreground);\n }\n .room-platform-room .text-primary {\n color: var(--color-primary);\n }\n .room-platform-room .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .room-platform-room .text-red-100 {\n color: var(--color-red-100);\n }\n .room-platform-room .text-secondary-foreground {\n color: var(--color-secondary-foreground);\n }\n .room-platform-room .text-sky-950 {\n color: var(--color-sky-950);\n }\n .room-platform-room .text-slate-200 {\n color: var(--color-slate-200);\n }\n .room-platform-room .text-slate-300 {\n color: var(--color-slate-300);\n }\n .room-platform-room .text-slate-400 {\n color: var(--color-slate-400);\n }\n .room-platform-room .text-slate-500 {\n color: var(--color-slate-500);\n }\n .room-platform-room .text-slate-700 {\n color: var(--color-slate-700);\n }\n .room-platform-room .text-slate-950 {\n color: var(--color-slate-950);\n }\n .room-platform-room .text-white {\n color: var(--color-white);\n }\n .room-platform-room .text-white\\/55 {\n color: color-mix(in srgb, #fff 55%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 55%, transparent);\n }\n }\n .room-platform-room .text-white\\/60 {\n color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n .room-platform-room .text-white\\/70 {\n color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n .room-platform-room .uppercase {\n text-transform: uppercase;\n }\n .room-platform-room .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .room-platform-room .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .room-platform-room .opacity-0 {\n opacity: 0%;\n }\n .room-platform-room .opacity-50 {\n opacity: 50%;\n }\n .room-platform-room .opacity-70 {\n opacity: 70%;\n }\n .room-platform-room .opacity-80 {\n opacity: 80%;\n }\n .room-platform-room .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\] {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-none {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring-0 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring-\\[\\#2563EB\\]\\/15 {\n --tw-ring-color: color-mix(in oklab, #2563EB 15%, transparent);\n }\n .room-platform-room .ring-emerald-400 {\n --tw-ring-color: var(--color-emerald-400);\n }\n .room-platform-room .ring-foreground\\/10 {\n --tw-ring-color: color-mix(in srgb, oklch(0.145 0 0) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-foreground) 10%, transparent);\n }\n }\n .room-platform-room .ring-white\\/10 {\n --tw-ring-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n .room-platform-room .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .room-platform-room .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .room-platform-room .blur {\n --tw-blur: blur(8px);\n 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,);\n }\n .room-platform-room .blur-\\[3px\\] {\n --tw-blur: blur(3px);\n 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,);\n }\n .room-platform-room .blur-\\[6px\\] {\n --tw-blur: blur(6px);\n 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,);\n }\n .room-platform-room .drop-shadow-sm {\n --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));\n --tw-drop-shadow: drop-shadow(var(--drop-shadow-sm));\n 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,);\n }\n .room-platform-room .backdrop-blur-\\[1px\\] {\n --tw-backdrop-blur: blur(1px);\n -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,);\n 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,);\n }\n .room-platform-room .transition {\n 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;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[left\\,right\\,width\\] {\n transition-property: left,right,width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[margin\\,opacity\\] {\n transition-property: margin,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[width\\,height\\,padding\\] {\n transition-property: width,height,padding;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[width\\,transform\\,opacity\\] {\n transition-property: width,transform,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[width\\] {\n transition-property: width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-none {\n transition-property: none;\n }\n .room-platform-room .duration-100 {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n .room-platform-room .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .room-platform-room .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .room-platform-room .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n .room-platform-room .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n .room-platform-room .fade-in-0 {\n --tw-enter-opacity: calc(0/100);\n --tw-enter-opacity: 0;\n }\n .room-platform-room .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .room-platform-room .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .room-platform-room .zoom-in-95 {\n --tw-enter-scale: calc(95*1%);\n --tw-enter-scale: .95;\n }\n .room-platform-room .\\[--cell-radius\\:var\\(--radius-md\\)\\] {\n --cell-radius: var(--radius-md);\n }\n .room-platform-room .\\[--cell-size\\:--spacing\\(7\\)\\] {\n --cell-size: calc(var(--spacing) * 7);\n }\n .room-platform-room .paused {\n animation-play-state: paused;\n }\n .room-platform-room .ring-inset {\n --tw-ring-inset: inset;\n }\n .room-platform-room .running {\n animation-play-state: running;\n }\n .room-platform-room .\\*\\:w-full {\n .room-platform-room :is(& > *) {\n width: 100%;\n }\n }\n .room-platform-room .group-focus-within\\/menu-item\\:opacity-100 {\n .room-platform-room &:is(:where(.group\\/menu-item):focus-within *) {\n opacity: 100%;\n }\n }\n .room-platform-room .group-hover\\/menu-item\\:opacity-100 {\n .room-platform-room &:is(:where(.group\\/menu-item):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .room-platform-room .group-focus\\/dropdown-menu-item\\:text-accent-foreground {\n .room-platform-room &:is(:where(.group\\/dropdown-menu-item):focus *) {\n color: var(--color-accent-foreground);\n }\n }\n .room-platform-room .group-has-disabled\\/field\\:opacity-50 {\n .room-platform-room &:is(:where(.group\\/field):has(*:disabled) *) {\n opacity: 50%;\n }\n }\n .room-platform-room .group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pr-8 {\n .room-platform-room &:is(:where(.group\\/menu-item):has(*[data-sidebar=\"menu-action\"]) *) {\n padding-right: calc(var(--spacing) * 8);\n }\n }\n .room-platform-room .group-has-data-\\[slot\\=combobox-clear\\]\\/input-group\\:hidden {\n .room-platform-room &:is(:where(.group\\/input-group):has(*[data-slot=\"combobox-clear\"]) *) {\n display: none;\n }\n }\n .room-platform-room .group-has-data-horizontal\\/field\\:text-balance {\n .room-platform-room &:is(:where(.group\\/field):has(*:where([data-orientation=\"horizontal\"])) *) {\n text-wrap: balance;\n }\n }\n .room-platform-room .group-has-\\[\\>input\\]\\/input-group\\:pt-2 {\n .room-platform-room &:is(:where(.group\\/input-group):has(>input) *) {\n padding-top: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .group-has-\\[\\>input\\]\\/input-group\\:pb-2 {\n .room-platform-room &:is(:where(.group\\/input-group):has(>input) *) {\n padding-bottom: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .group-has-\\[\\>svg\\]\\/alert\\:col-start-2 {\n .room-platform-room &:is(:where(.group\\/alert):has(>svg) *) {\n grid-column-start: 2;\n }\n }\n .room-platform-room .group-data-empty\\/combobox-content\\:flex {\n .room-platform-room &:is(:where(.group\\/combobox-content)[data-empty] *) {\n display: flex;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:-mt-8 {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n margin-top: calc(var(--spacing) * -8);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:hidden {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n display: none;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:size-8\\! {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--spacing) * 8) !important;\n height: calc(var(--spacing) * 8) !important;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+1rem\\)\\] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + 1rem);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+1rem\\+2px\\)\\] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + 1rem + 2px);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[var\\(--sidebar-width-icon\\)\\] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: var(--sidebar-width-icon);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n overflow: hidden;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:p-0\\! {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 0) !important;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:p-2\\! {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 2) !important;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:opacity-0 {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n opacity: 0%;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:w-0 {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n width: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0 {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .group-data-\\[disabled\\=true\\]\\:pointer-events-none {\n .room-platform-room &:is(:where(.group)[data-disabled=\"true\"] *) {\n pointer-events: none;\n }\n }\n .room-platform-room .group-data-\\[disabled\\=true\\]\\:opacity-50 {\n .room-platform-room &:is(:where(.group)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n .room-platform-room .group-data-\\[disabled\\=true\\]\\/field\\:opacity-50 {\n .room-platform-room &:is(:where(.group\\/field)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n .room-platform-room .group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50 {\n .room-platform-room &:is(:where(.group\\/input-group)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:relative {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n position: relative;\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:z-10 {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n z-index: 10;\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:border-ring {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n border-color: var(--color-ring);\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-\\[3px\\] {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50 {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n --tw-ring-color: color-mix(in srgb, #9dc2f3 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);\n }\n }\n }\n .room-platform-room .group-data-\\[side\\=left\\]\\:-right-4 {\n .room-platform-room &:is(:where(.group)[data-side=\"left\"] *) {\n right: calc(var(--spacing) * -4);\n }\n }\n .room-platform-room .group-data-\\[side\\=left\\]\\:border-r {\n .room-platform-room &:is(:where(.group)[data-side=\"left\"] *) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .room-platform-room .group-data-\\[side\\=right\\]\\:left-0 {\n .room-platform-room &:is(:where(.group)[data-side=\"right\"] *) {\n left: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .group-data-\\[side\\=right\\]\\:rotate-180 {\n .room-platform-room &:is(:where(.group)[data-side=\"right\"] *) {\n rotate: 180deg;\n }\n }\n .room-platform-room .group-data-\\[side\\=right\\]\\:border-l {\n .room-platform-room &:is(:where(.group)[data-side=\"right\"] *) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/alert-dialog-content\\:grid {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"sm\"] *) {\n display: grid;\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/alert-dialog-content\\:grid-cols-2 {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"sm\"] *) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:p-3 {\n .room-platform-room &:is(:where(.group\\/card)[data-size=\"sm\"] *) {\n padding: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:px-3 {\n .room-platform-room &:is(:where(.group\\/card)[data-size=\"sm\"] *) {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:text-sm {\n .room-platform-room &:is(:where(.group\\/card)[data-size=\"sm\"] *) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none {\n .room-platform-room &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n border-radius: 0;\n }\n }\n .room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2 {\n .room-platform-room &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n padding-inline: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .group-data-\\[variant\\=floating\\]\\:rounded-lg {\n .room-platform-room &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-radius: var(--radius-lg);\n }\n }\n .room-platform-room .group-data-\\[variant\\=floating\\]\\:shadow-sm {\n .room-platform-room &:is(:where(.group)[data-variant=\"floating\"] *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .group-data-\\[variant\\=floating\\]\\:ring-1 {\n .room-platform-room &:is(:where(.group)[data-variant=\"floating\"] *) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n background-color: transparent;\n }\n }\n .room-platform-room .group-data-\\[variant\\=outline\\]\\/field-group\\:-mb-2 {\n .room-platform-room &:is(:where(.group\\/field-group)[data-variant=\"outline\"] *) {\n margin-bottom: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .group-data-horizontal\\/tabs\\:h-8 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"horizontal\"]) *) {\n height: calc(var(--spacing) * 8);\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:h-fit {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n height: fit-content;\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:w-full {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n width: 100%;\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:flex-col {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n flex-direction: column;\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:justify-start {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n justify-content: flex-start;\n }\n }\n .room-platform-room .peer-disabled\\:cursor-not-allowed {\n .room-platform-room &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n .room-platform-room .peer-disabled\\:opacity-50 {\n .room-platform-room &:is(:where(.peer):disabled ~ *) {\n opacity: 50%;\n }\n }\n .room-platform-room .peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5 {\n .room-platform-room &:is(:where(.peer\\/menu-button)[data-size=\"default\"] ~ *) {\n top: calc(var(--spacing) * 1.5);\n }\n }\n .room-platform-room .peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5 {\n .room-platform-room &:is(:where(.peer\\/menu-button)[data-size=\"lg\"] ~ *) {\n top: calc(var(--spacing) * 2.5);\n }\n }\n .room-platform-room .peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1 {\n .room-platform-room &:is(:where(.peer\\/menu-button)[data-size=\"sm\"] ~ *) {\n top: calc(var(--spacing) * 1);\n }\n }\n .room-platform-room .file\\:inline-flex {\n .room-platform-room &::file-selector-button {\n display: inline-flex;\n }\n }\n .room-platform-room .file\\:h-6 {\n .room-platform-room &::file-selector-button {\n height: calc(var(--spacing) * 6);\n }\n }\n .room-platform-room .file\\:border-0 {\n .room-platform-room &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .room-platform-room .file\\:bg-transparent {\n .room-platform-room &::file-selector-button {\n background-color: transparent;\n }\n }\n .room-platform-room .file\\:text-sm {\n .room-platform-room &::file-selector-button {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .file\\:font-medium {\n .room-platform-room &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .room-platform-room .file\\:text-foreground {\n .room-platform-room &::file-selector-button {\n color: var(--color-foreground);\n }\n }\n .room-platform-room .placeholder\\:text-muted-foreground {\n .room-platform-room &::placeholder {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .after\\:absolute {\n .room-platform-room &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .room-platform-room .after\\:-inset-2 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .after\\:-inset-x-3 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-inline: calc(var(--spacing) * -3);\n }\n }\n .room-platform-room .after\\:-inset-y-2 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .after\\:inset-y-0 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .after\\:start-1\\/2 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-inline-start: calc(1/2 * 100%);\n }\n }\n .room-platform-room .after\\:right-0 {\n .room-platform-room &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .after\\:left-0 {\n .room-platform-room &::after {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .after\\:w-4 {\n .room-platform-room &::after {\n content: var(--tw-content);\n width: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .after\\:w-\\[2px\\] {\n .room-platform-room &::after {\n content: var(--tw-content);\n width: 2px;\n }\n }\n .room-platform-room .after\\:bg-foreground {\n .room-platform-room &::after {\n content: var(--tw-content);\n background-color: var(--color-foreground);\n }\n }\n .room-platform-room .after\\:bg-muted {\n .room-platform-room &::after {\n content: var(--tw-content);\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .after\\:opacity-0 {\n .room-platform-room &::after {\n content: var(--tw-content);\n opacity: 0%;\n }\n }\n .room-platform-room .after\\:transition-opacity {\n .room-platform-room &::after {\n content: var(--tw-content);\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n left: 100%;\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/tabs\\:after\\:inset-x-0 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-inline: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\] {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n bottom: -5px;\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/tabs\\:after\\:h-0\\.5 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n height: calc(var(--spacing) * 0.5);\n }\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:after\\:inset-y-0 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:after\\:-right-1 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * -1);\n }\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:after\\:w-0\\.5 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n width: calc(var(--spacing) * 0.5);\n }\n }\n }\n .room-platform-room .last\\:mt-0 {\n .room-platform-room &:last-child {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .focus-within\\:border-ring {\n .room-platform-room &:focus-within {\n border-color: var(--color-ring);\n }\n }\n .room-platform-room .focus-within\\:ring-3 {\n .room-platform-room &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-within\\:ring-ring\\/50 {\n .room-platform-room &:focus-within {\n --tw-ring-color: color-mix(in srgb, #9dc2f3 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);\n }\n }\n }\n .room-platform-room .hover\\:border-slate-300 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-300);\n }\n }\n }\n .room-platform-room .hover\\:border-slate-400 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-400);\n }\n }\n }\n .room-platform-room .hover\\:bg-destructive\\/20 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-liveclass-orange\\/90 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #eb6619 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-liveclass-orange) 90%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-muted {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .room-platform-room .hover\\:bg-muted\\/50 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-red-50 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-50);\n }\n }\n }\n .room-platform-room .hover\\:bg-red-500\\/15 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-red-500) 15%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-secondary\\/80 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #eb6619 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-slate-100 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-100);\n }\n }\n }\n .room-platform-room .hover\\:bg-slate-900 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-900);\n }\n }\n }\n .room-platform-room .hover\\:bg-transparent {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n .room-platform-room .hover\\:bg-white {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n }\n .room-platform-room .hover\\:bg-white\\/10 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-white\\/15 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 15%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:text-foreground {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-foreground);\n }\n }\n }\n .room-platform-room .hover\\:text-muted-foreground {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-muted-foreground);\n }\n }\n }\n .room-platform-room .hover\\:text-red-600 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-red-600);\n }\n }\n }\n .room-platform-room .hover\\:text-white {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-white);\n }\n }\n }\n .room-platform-room .hover\\:underline {\n .room-platform-room &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .room-platform-room .hover\\:opacity-100 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .room-platform-room .hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\] {\n .room-platform-room &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .focus\\:z-10 {\n .room-platform-room &:focus {\n z-index: 10;\n }\n }\n .room-platform-room .focus\\:bg-accent {\n .room-platform-room &:focus {\n background-color: var(--color-accent);\n }\n }\n .room-platform-room .focus\\:text-accent-foreground {\n .room-platform-room &:focus {\n color: var(--color-accent-foreground);\n }\n }\n .room-platform-room .focus\\:\\*\\*\\:text-accent-foreground {\n .room-platform-room &:focus {\n .room-platform-room :is(& *) {\n color: var(--color-accent-foreground);\n }\n }\n }\n .room-platform-room .not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground {\n .room-platform-room &:not(*[data-variant=\"destructive\"]) {\n .room-platform-room &:focus {\n .room-platform-room :is(& *) {\n color: var(--color-accent-foreground);\n }\n }\n }\n }\n .room-platform-room .focus-visible\\:z-10 {\n .room-platform-room &:focus-visible {\n z-index: 10;\n }\n }\n .room-platform-room .focus-visible\\:border-destructive\\/40 {\n .room-platform-room &:focus-visible {\n border-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n .room-platform-room .focus-visible\\:border-ring {\n .room-platform-room &:focus-visible {\n border-color: var(--color-ring);\n }\n }\n .room-platform-room .focus-visible\\:ring-0 {\n .room-platform-room &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-visible\\:ring-2 {\n .room-platform-room &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-visible\\:ring-3 {\n .room-platform-room &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-visible\\:ring-\\[3px\\] {\n .room-platform-room &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-visible\\:ring-destructive\\/20 {\n .room-platform-room &:focus-visible {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .focus-visible\\:ring-ring\\/50 {\n .room-platform-room &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #9dc2f3 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);\n }\n }\n }\n .room-platform-room .focus-visible\\:outline-1 {\n .room-platform-room &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n }\n .room-platform-room .focus-visible\\:outline-ring {\n .room-platform-room &:focus-visible {\n outline-color: var(--color-ring);\n }\n }\n .room-platform-room .\\*\\:focus-visible\\:relative {\n .room-platform-room :is(& > *) {\n .room-platform-room &:focus-visible {\n position: relative;\n }\n }\n }\n .room-platform-room .\\*\\:focus-visible\\:z-10 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:focus-visible {\n z-index: 10;\n }\n }\n }\n .room-platform-room .active\\:not-aria-\\[haspopup\\]\\:translate-y-px {\n .room-platform-room &:active {\n .room-platform-room &:not(*[aria-haspopup]) {\n --tw-translate-y: 1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .room-platform-room .disabled\\:pointer-events-none {\n .room-platform-room &:disabled {\n pointer-events: none;\n }\n }\n .room-platform-room .disabled\\:cursor-not-allowed {\n .room-platform-room &:disabled {\n cursor: not-allowed;\n }\n }\n .room-platform-room .disabled\\:border-white\\/35 {\n .room-platform-room &:disabled {\n border-color: color-mix(in srgb, #fff 35%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 35%, transparent);\n }\n }\n }\n .room-platform-room .disabled\\:bg-input\\/50 {\n .room-platform-room &:disabled {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n .room-platform-room .disabled\\:bg-transparent {\n .room-platform-room &:disabled {\n background-color: transparent;\n }\n }\n .room-platform-room .disabled\\:bg-white\\/5 {\n .room-platform-room &:disabled {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n .room-platform-room .disabled\\:text-white\\/65 {\n .room-platform-room &:disabled {\n color: color-mix(in srgb, #fff 65%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 65%, transparent);\n }\n }\n }\n .room-platform-room .disabled\\:opacity-50 {\n .room-platform-room &:disabled {\n opacity: 50%;\n }\n }\n .room-platform-room .in-data-\\[side\\=left\\]\\:cursor-w-resize {\n .room-platform-room :where(*[data-side=\"left\"]) & {\n cursor: w-resize;\n }\n }\n .room-platform-room .in-data-\\[side\\=right\\]\\:cursor-e-resize {\n .room-platform-room :where(*[data-side=\"right\"]) & {\n cursor: e-resize;\n }\n }\n .room-platform-room .in-data-\\[slot\\=button-group\\]\\:rounded-lg {\n .room-platform-room :where(*[data-slot=\"button-group\"]) & {\n border-radius: var(--radius-lg);\n }\n }\n .room-platform-room .in-data-\\[slot\\=card-content\\]\\:bg-transparent {\n .room-platform-room :where(*[data-slot=\"card-content\"]) & {\n background-color: transparent;\n }\n }\n .room-platform-room .in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit {\n .room-platform-room :where(*[data-slot=\"combobox-content\"]) & {\n .room-platform-room &:focus-within {\n border-color: inherit;\n }\n }\n }\n .room-platform-room .in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0 {\n .room-platform-room :where(*[data-slot=\"combobox-content\"]) & {\n .room-platform-room &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .in-data-\\[slot\\=popover-content\\]\\:bg-transparent {\n .room-platform-room :where(*[data-slot=\"popover-content\"]) & {\n background-color: transparent;\n }\n }\n .room-platform-room .has-disabled\\:pointer-events-none {\n .room-platform-room &:has(*:disabled) {\n pointer-events: none;\n }\n }\n .room-platform-room .has-disabled\\:cursor-not-allowed {\n .room-platform-room &:has(*:disabled) {\n cursor: not-allowed;\n }\n }\n .room-platform-room .has-disabled\\:bg-input\\/50 {\n .room-platform-room &:has(*:disabled) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n .room-platform-room .has-disabled\\:opacity-50 {\n .room-platform-room &:has(*:disabled) {\n opacity: 50%;\n }\n }\n .room-platform-room .has-aria-expanded\\:bg-muted\\/50 {\n .room-platform-room &:has(*[aria-expanded=\"true\"]) {\n background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n .room-platform-room .has-aria-invalid\\:border-destructive {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n border-color: var(--color-destructive);\n }\n }\n .room-platform-room .has-aria-invalid\\:ring-3 {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .has-aria-invalid\\:ring-destructive\\/20 {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-1 {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 1);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5 {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 1.5);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-2 {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-3 {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5 {\n .room-platform-room &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-1 {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 1);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5 {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 1.5);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-2 {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-3 {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5 {\n .room-platform-room &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .has-data-\\[slot\\=alert-action\\]\\:relative {\n .room-platform-room &:has(*[data-slot=\"alert-action\"]) {\n position: relative;\n }\n }\n .room-platform-room .has-data-\\[slot\\=alert-action\\]\\:pr-18 {\n .room-platform-room &:has(*[data-slot=\"alert-action\"]) {\n padding-right: calc(var(--spacing) * 18);\n }\n }\n .room-platform-room .has-data-\\[slot\\=alert-dialog-media\\]\\:grid-rows-\\[auto_auto_1fr\\] {\n .room-platform-room &:has(*[data-slot=\"alert-dialog-media\"]) {\n grid-template-rows: auto auto 1fr;\n }\n }\n .room-platform-room .has-data-\\[slot\\=alert-dialog-media\\]\\:gap-x-4 {\n .room-platform-room &:has(*[data-slot=\"alert-dialog-media\"]) {\n column-gap: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\] {\n .room-platform-room &:has(*[data-slot=\"card-action\"]) {\n grid-template-columns: 1fr auto;\n }\n }\n .room-platform-room .has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\] {\n .room-platform-room &:has(*[data-slot=\"card-description\"]) {\n grid-template-rows: auto auto;\n }\n }\n .room-platform-room .has-data-\\[slot\\=card-footer\\]\\:pb-0 {\n .room-platform-room &:has(*[data-slot=\"card-footer\"]) {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .has-data-\\[slot\\=combobox-chip\\]\\:px-1 {\n .room-platform-room &:has(*[data-slot=\"combobox-chip\"]) {\n padding-inline: calc(var(--spacing) * 1);\n }\n }\n .room-platform-room .has-data-\\[slot\\=combobox-chip-remove\\]\\:pr-0 {\n .room-platform-room &:has(*[data-slot=\"combobox-chip-remove\"]) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .has-data-checked\\:border-primary\\/30 {\n .room-platform-room &:has(*:where([data-state=\"checked\"]), *:where([data-checked]:not([data-checked=\"false\"]))) {\n border-color: color-mix(in srgb, #242f62 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);\n }\n }\n }\n .room-platform-room .has-data-checked\\:bg-primary\\/5 {\n .room-platform-room &:has(*:where([data-state=\"checked\"]), *:where([data-checked]:not([data-checked=\"false\"]))) {\n background-color: color-mix(in srgb, #242f62 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 5%, transparent);\n }\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring {\n .room-platform-room &:has(*:is([data-slot=input-group-control]:focus-visible)) {\n border-color: var(--color-ring);\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3 {\n .room-platform-room &:has(*:is([data-slot=input-group-control]:focus-visible)) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50 {\n .room-platform-room &:has(*:is([data-slot=input-group-control]:focus-visible)) {\n --tw-ring-color: color-mix(in srgb, #9dc2f3 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);\n }\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive {\n .room-platform-room &:has(*:is([data-slot][aria-invalid=true])) {\n border-color: var(--color-destructive);\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3 {\n .room-platform-room &:has(*:is([data-slot][aria-invalid=true])) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20 {\n .room-platform-room &:has(*:is([data-slot][aria-invalid=true])) {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto {\n .room-platform-room &:has(>[data-align=block-end]) {\n height: auto;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col {\n .room-platform-room &:has(>[data-align=block-end]) {\n flex-direction: column;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto {\n .room-platform-room &:has(>[data-align=block-start]) {\n height: auto;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col {\n .room-platform-room &:has(>[data-align=block-start]) {\n flex-direction: column;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2 {\n .room-platform-room &:has(>[data-slot=button-group]) {\n gap: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=checkbox-group\\]\\]\\:gap-3 {\n .room-platform-room &:has(>[data-slot=checkbox-group]) {\n gap: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start {\n .room-platform-room &:has(>[data-slot=field-content]) {\n align-items: flex-start;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:w-full {\n .room-platform-room &:has(>[data-slot=field]) {\n width: 100%;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:flex-col {\n .room-platform-room &:has(>[data-slot=field]) {\n flex-direction: column;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:rounded-lg {\n .room-platform-room &:has(>[data-slot=field]) {\n border-radius: var(--radius-lg);\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:border {\n .room-platform-room &:has(>[data-slot=field]) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=radio-group\\]\\]\\:gap-3 {\n .room-platform-room &:has(>[data-slot=radio-group]) {\n gap: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .has-\\[\\>button\\]\\:mr-\\[-0\\.3rem\\] {\n .room-platform-room &:has(>button) {\n margin-right: -0.3rem;\n }\n }\n .room-platform-room .has-\\[\\>button\\]\\:ml-\\[-0\\.3rem\\] {\n .room-platform-room &:has(>button) {\n margin-left: -0.3rem;\n }\n }\n .room-platform-room .has-\\[\\>img\\:first-child\\]\\:pt-0 {\n .room-platform-room &:has(>img:first-child) {\n padding-top: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .has-\\[\\>kbd\\]\\:mr-\\[-0\\.15rem\\] {\n .room-platform-room &:has(>kbd) {\n margin-right: -0.15rem;\n }\n }\n .room-platform-room .has-\\[\\>kbd\\]\\:ml-\\[-0\\.15rem\\] {\n .room-platform-room &:has(>kbd) {\n margin-left: -0.15rem;\n }\n }\n .room-platform-room .has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\] {\n .room-platform-room &:has(>svg) {\n grid-template-columns: auto 1fr;\n }\n }\n .room-platform-room .has-\\[\\>svg\\]\\:gap-x-2 {\n .room-platform-room &:has(>svg) {\n column-gap: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .has-\\[\\>svg\\]\\:p-0 {\n .room-platform-room &:has(>svg) {\n padding: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .has-\\[\\>textarea\\]\\:h-auto {\n .room-platform-room &:has(>textarea) {\n height: auto;\n }\n }\n .room-platform-room .aria-disabled\\:pointer-events-none {\n .room-platform-room &[aria-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .room-platform-room .aria-disabled\\:opacity-50 {\n .room-platform-room &[aria-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .room-platform-room .aria-expanded\\:bg-muted {\n .room-platform-room &[aria-expanded=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .aria-expanded\\:bg-secondary {\n .room-platform-room &[aria-expanded=\"true\"] {\n background-color: var(--color-secondary);\n }\n }\n .room-platform-room .aria-expanded\\:text-foreground {\n .room-platform-room &[aria-expanded=\"true\"] {\n color: var(--color-foreground);\n }\n }\n .room-platform-room .aria-expanded\\:text-secondary-foreground {\n .room-platform-room &[aria-expanded=\"true\"] {\n color: var(--color-secondary-foreground);\n }\n }\n .room-platform-room .aria-expanded\\:opacity-100 {\n .room-platform-room &[aria-expanded=\"true\"] {\n opacity: 100%;\n }\n }\n .room-platform-room .aria-invalid\\:border-destructive {\n .room-platform-room &[aria-invalid=\"true\"] {\n border-color: var(--color-destructive);\n }\n }\n .room-platform-room .aria-invalid\\:ring-0 {\n .room-platform-room &[aria-invalid=\"true\"] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .aria-invalid\\:ring-3 {\n .room-platform-room &[aria-invalid=\"true\"] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .aria-invalid\\:ring-destructive\\/20 {\n .room-platform-room &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .aria-invalid\\:aria-checked\\:border-primary {\n .room-platform-room &[aria-invalid=\"true\"] {\n .room-platform-room &[aria-checked=\"true\"] {\n border-color: var(--color-primary);\n }\n }\n }\n .room-platform-room .aria-pressed\\:bg-muted {\n .room-platform-room &[aria-pressed=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .aria-selected\\:text-muted-foreground {\n .room-platform-room &[aria-selected=\"true\"] {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .data-empty\\:p-0 {\n .room-platform-room &[data-empty] {\n padding: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-highlighted\\:bg-accent {\n .room-platform-room &[data-highlighted] {\n background-color: var(--color-accent);\n }\n }\n .room-platform-room .data-highlighted\\:text-accent-foreground {\n .room-platform-room &[data-highlighted] {\n color: var(--color-accent-foreground);\n }\n }\n .room-platform-room .not-data-\\[variant\\=destructive\\]\\:data-highlighted\\:\\*\\*\\:text-accent-foreground {\n .room-platform-room &:not(*[data-variant=\"destructive\"]) {\n .room-platform-room &[data-highlighted] {\n .room-platform-room :is(& *) {\n color: var(--color-accent-foreground);\n }\n }\n }\n }\n .room-platform-room .data-inset\\:pl-7 {\n .room-platform-room &[data-inset] {\n padding-left: calc(var(--spacing) * 7);\n }\n }\n .room-platform-room .data-placeholder\\:text-muted-foreground {\n .room-platform-room &[data-placeholder] {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .data-pressed\\:bg-transparent {\n .room-platform-room &[data-pressed] {\n background-color: transparent;\n }\n }\n .room-platform-room .data-\\[align-trigger\\=true\\]\\:animate-none {\n .room-platform-room &[data-align-trigger=\"true\"] {\n animation: none;\n }\n }\n .room-platform-room .data-\\[chips\\=true\\]\\:min-w-\\(--anchor-width\\) {\n .room-platform-room &[data-chips=\"true\"] {\n min-width: var(--anchor-width);\n }\n }\n .room-platform-room .data-\\[invalid\\=true\\]\\:text-destructive {\n .room-platform-room &[data-invalid=\"true\"] {\n color: var(--color-destructive);\n }\n }\n .room-platform-room .data-\\[lk-enabled\\=true\\]\\:border-white {\n .room-platform-room &[data-lk-enabled=\"true\"] {\n border-color: var(--color-white);\n }\n }\n .room-platform-room .data-\\[lk-enabled\\=true\\]\\:bg-white {\n .room-platform-room &[data-lk-enabled=\"true\"] {\n background-color: var(--color-white);\n }\n }\n .room-platform-room .data-\\[lk-enabled\\=true\\]\\:text-slate-950 {\n .room-platform-room &[data-lk-enabled=\"true\"] {\n color: var(--color-slate-950);\n }\n }\n .room-platform-room .data-\\[lk-enabled\\=true\\]\\:hover\\:bg-white {\n .room-platform-room &[data-lk-enabled=\"true\"] {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n }\n }\n .room-platform-room .data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\) {\n .room-platform-room &[data-position=\"popper\"] {\n height: var(--radix-select-trigger-height);\n }\n }\n .room-platform-room .data-\\[position\\=popper\\]\\:w-full {\n .room-platform-room &[data-position=\"popper\"] {\n width: 100%;\n }\n }\n .room-platform-room .data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\) {\n .room-platform-room &[data-position=\"popper\"] {\n min-width: var(--radix-select-trigger-width);\n }\n }\n .room-platform-room .data-\\[range-end\\=true\\]\\:rounded-\\(--cell-radius\\) {\n .room-platform-room &[data-range-end=\"true\"] {\n border-radius: var(--cell-radius);\n }\n }\n .room-platform-room .data-\\[range-end\\=true\\]\\:rounded-r-\\(--cell-radius\\) {\n .room-platform-room &[data-range-end=\"true\"] {\n border-top-right-radius: var(--cell-radius);\n border-bottom-right-radius: var(--cell-radius);\n }\n }\n .room-platform-room .data-\\[range-end\\=true\\]\\:bg-primary {\n .room-platform-room &[data-range-end=\"true\"] {\n background-color: var(--color-primary);\n }\n }\n .room-platform-room .data-\\[range-end\\=true\\]\\:text-primary-foreground {\n .room-platform-room &[data-range-end=\"true\"] {\n color: var(--color-primary-foreground);\n }\n }\n .room-platform-room .data-\\[range-middle\\=true\\]\\:rounded-none {\n .room-platform-room &[data-range-middle=\"true\"] {\n border-radius: 0;\n }\n }\n .room-platform-room .data-\\[range-middle\\=true\\]\\:bg-muted {\n .room-platform-room &[data-range-middle=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .data-\\[range-middle\\=true\\]\\:text-foreground {\n .room-platform-room &[data-range-middle=\"true\"] {\n color: var(--color-foreground);\n }\n }\n .room-platform-room .data-\\[range-start\\=true\\]\\:rounded-\\(--cell-radius\\) {\n .room-platform-room &[data-range-start=\"true\"] {\n border-radius: var(--cell-radius);\n }\n }\n .room-platform-room .data-\\[range-start\\=true\\]\\:rounded-l-\\(--cell-radius\\) {\n .room-platform-room &[data-range-start=\"true\"] {\n border-top-left-radius: var(--cell-radius);\n border-bottom-left-radius: var(--cell-radius);\n }\n }\n .room-platform-room .data-\\[range-start\\=true\\]\\:bg-primary {\n .room-platform-room &[data-range-start=\"true\"] {\n background-color: var(--color-primary);\n }\n }\n .room-platform-room .data-\\[range-start\\=true\\]\\:text-primary-foreground {\n .room-platform-room &[data-range-start=\"true\"] {\n color: var(--color-primary-foreground);\n }\n }\n .room-platform-room .data-\\[selected-single\\=true\\]\\:bg-primary {\n .room-platform-room &[data-selected-single=\"true\"] {\n background-color: var(--color-primary);\n }\n }\n .room-platform-room .data-\\[selected-single\\=true\\]\\:text-primary-foreground {\n .room-platform-room &[data-selected-single=\"true\"] {\n color: var(--color-primary-foreground);\n }\n }\n .room-platform-room .data-\\[selected\\=true\\]\\:rounded-none {\n .room-platform-room &[data-selected=\"true\"] {\n border-radius: 0;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:inset-x-0 {\n .room-platform-room &[data-side=\"bottom\"] {\n inset-inline: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:bottom-0 {\n .room-platform-room &[data-side=\"bottom\"] {\n bottom: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:h-auto {\n .room-platform-room &[data-side=\"bottom\"] {\n height: auto;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:translate-y-1 {\n .room-platform-room &[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:border-t {\n .room-platform-room &[data-side=\"bottom\"] {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:slide-in-from-top-2 {\n .room-platform-room &[data-side=\"bottom\"] {\n --tw-enter-translate-y: calc(2*var(--spacing)*-1);\n }\n }\n .room-platform-room .data-\\[side\\=inline-end\\]\\:slide-in-from-left-2 {\n .room-platform-room &[data-side=\"inline-end\"] {\n --tw-enter-translate-x: calc(2*var(--spacing)*-1);\n }\n }\n .room-platform-room .data-\\[side\\=inline-start\\]\\:slide-in-from-right-2 {\n .room-platform-room &[data-side=\"inline-start\"] {\n --tw-enter-translate-x: calc(2*var(--spacing));\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:inset-y-0 {\n .room-platform-room &[data-side=\"left\"] {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:left-0 {\n .room-platform-room &[data-side=\"left\"] {\n left: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:h-full {\n .room-platform-room &[data-side=\"left\"] {\n height: 100%;\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:w-3\\/4 {\n .room-platform-room &[data-side=\"left\"] {\n width: calc(3 / 4 * 100%);\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:-translate-x-1 {\n .room-platform-room &[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:border-r {\n .room-platform-room &[data-side=\"left\"] {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:slide-in-from-right-2 {\n .room-platform-room &[data-side=\"left\"] {\n --tw-enter-translate-x: calc(2*var(--spacing));\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n .room-platform-room &[data-side=\"left\"] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n left: calc(var(--sidebar-width) * -1);\n }\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:inset-y-0 {\n .room-platform-room &[data-side=\"right\"] {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:right-0 {\n .room-platform-room &[data-side=\"right\"] {\n right: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:h-full {\n .room-platform-room &[data-side=\"right\"] {\n height: 100%;\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:w-3\\/4 {\n .room-platform-room &[data-side=\"right\"] {\n width: calc(3 / 4 * 100%);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:translate-x-1 {\n .room-platform-room &[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:border-l {\n .room-platform-room &[data-side=\"right\"] {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:slide-in-from-left-2 {\n .room-platform-room &[data-side=\"right\"] {\n --tw-enter-translate-x: calc(2*var(--spacing)*-1);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n .room-platform-room &[data-side=\"right\"] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n right: calc(var(--sidebar-width) * -1);\n }\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:inset-x-0 {\n .room-platform-room &[data-side=\"top\"] {\n inset-inline: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:top-0 {\n .room-platform-room &[data-side=\"top\"] {\n top: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:h-auto {\n .room-platform-room &[data-side=\"top\"] {\n height: auto;\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:-translate-y-1 {\n .room-platform-room &[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:border-b {\n .room-platform-room &[data-side=\"top\"] {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:slide-in-from-bottom-2 {\n .room-platform-room &[data-side=\"top\"] {\n --tw-enter-translate-y: calc(2*var(--spacing));\n }\n }\n .room-platform-room .data-\\[size\\=default\\]\\:h-8 {\n .room-platform-room &[data-size=\"default\"] {\n height: calc(var(--spacing) * 8);\n }\n }\n .room-platform-room .data-\\[size\\=default\\]\\:max-w-xs {\n .room-platform-room &[data-size=\"default\"] {\n max-width: var(--container-xs);\n }\n }\n .room-platform-room .data-\\[size\\=md\\]\\:text-sm {\n .room-platform-room &[data-size=\"md\"] {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:h-7 {\n .room-platform-room &[data-size=\"sm\"] {\n height: calc(var(--spacing) * 7);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:max-w-xs {\n .room-platform-room &[data-size=\"sm\"] {\n max-width: var(--container-xs);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:gap-3 {\n .room-platform-room &[data-size=\"sm\"] {\n gap: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\] {\n .room-platform-room &[data-size=\"sm\"] {\n border-radius: min(var(--radius-md), 10px);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:py-3 {\n .room-platform-room &[data-size=\"sm\"] {\n padding-block: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:text-xs {\n .room-platform-room &[data-size=\"sm\"] {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0 {\n .room-platform-room &[data-size=\"sm\"] {\n .room-platform-room &:has(*[data-slot=\"card-footer\"]) {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"alert-description\"] {\n color: color-mix(in srgb, oklch(0.577 0.245 27.325) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n .room-platform-room .data-\\[slot\\=checkbox-group\\]\\:gap-3 {\n .room-platform-room &[data-slot=\"checkbox-group\"] {\n gap: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=field\\]\\:p-2\\.5 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"field\"] {\n padding: calc(var(--spacing) * 2.5);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=field-group\\]\\:gap-4 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"field-group\"] {\n gap: calc(var(--spacing) * 4);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=field-label\\]\\:flex-auto {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"field-label\"] {\n flex: auto;\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:m-1 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n margin: calc(var(--spacing) * 1);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:mb-0 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n margin-bottom: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:h-8 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n height: calc(var(--spacing) * 8);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:border-input\\/30 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n border-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:bg-input\\/30 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:shadow-none {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"select-value\"] {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=select-value\\]\\:flex {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"select-value\"] {\n display: flex;\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=select-value\\]\\:items-center {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"select-value\"] {\n align-items: center;\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"select-value\"] {\n gap: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-l-lg {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &:first-child {\n border-top-left-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n }\n }\n .room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &:first-child {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n }\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-r-lg {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &:last-child {\n border-top-right-radius: var(--radius-lg);\n border-bottom-right-radius: var(--radius-lg);\n }\n }\n }\n }\n .room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &:last-child {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n }\n }\n .room-platform-room .data-\\[state\\=closed\\]\\:overflow-hidden {\n .room-platform-room &[data-state=\"closed\"] {\n overflow: hidden;\n }\n }\n .room-platform-room .data-\\[state\\=on\\]\\:bg-muted {\n .room-platform-room &[data-state=\"on\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .data-\\[state\\=selected\\]\\:bg-muted {\n .room-platform-room &[data-state=\"selected\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .data-\\[variant\\=destructive\\]\\:text-destructive {\n .room-platform-room &[data-variant=\"destructive\"] {\n color: var(--color-destructive);\n }\n }\n .room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10 {\n .room-platform-room &[data-variant=\"destructive\"] {\n .room-platform-room &:focus {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);\n }\n }\n }\n }\n .room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive {\n .room-platform-room &[data-variant=\"destructive\"] {\n .room-platform-room &:focus {\n color: var(--color-destructive);\n }\n }\n }\n .room-platform-room .data-\\[variant\\=label\\]\\:text-sm {\n .room-platform-room &[data-variant=\"label\"] {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .data-\\[variant\\=legend\\]\\:text-base {\n .room-platform-room &[data-variant=\"legend\"] {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n }\n .room-platform-room .data-\\[variant\\=line\\]\\:rounded-none {\n .room-platform-room &[data-variant=\"line\"] {\n border-radius: 0;\n }\n }\n .room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-l-0 {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &[data-variant=\"outline\"] {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n }\n }\n .room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0 {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &[data-variant=\"outline\"] {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-l {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &[data-variant=\"outline\"] {\n .room-platform-room &:first-child {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n }\n }\n }\n .room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &[data-variant=\"outline\"] {\n .room-platform-room &:first-child {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n }\n }\n }\n }\n .room-platform-room .nth-last-2\\:-mt-1 {\n .room-platform-room &:nth-last-child(2) {\n margin-top: calc(var(--spacing) * -1);\n }\n }\n .room-platform-room .supports-backdrop-filter\\:backdrop-blur-xs {\n @supports (backdrop-filter: var(--tw)) {\n --tw-backdrop-blur: blur(var(--blur-xs));\n -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,);\n 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,);\n }\n }\n .room-platform-room .sm\\:flex {\n @media (width >= 40rem) {\n display: flex;\n }\n }\n .room-platform-room .sm\\:max-w-2xl {\n @media (width >= 40rem) {\n max-width: var(--container-2xl);\n }\n }\n .room-platform-room .sm\\:max-w-none {\n @media (width >= 40rem) {\n max-width: none;\n }\n }\n .room-platform-room .sm\\:max-w-sm {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n .room-platform-room .sm\\:grid-cols-3 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .room-platform-room .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .room-platform-room .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end;\n }\n }\n .room-platform-room .sm\\:p-4 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .sm\\:text-sm {\n @media (width >= 40rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:row-span-2 {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n grid-row: span 2 / span 2;\n }\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:place-items-start {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n place-items: start;\n }\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:text-left {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n text-align: left;\n }\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:group-has-data-\\[slot\\=alert-dialog-media\\]\\/alert-dialog-content\\:col-start-2 {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content):has(*[data-slot=\"alert-dialog-media\"]) *) {\n grid-column-start: 2;\n }\n }\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:has-data-\\[slot\\=alert-dialog-media\\]\\:grid-rows-\\[auto_1fr\\] {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n .room-platform-room &:has(*[data-slot=\"alert-dialog-media\"]) {\n grid-template-rows: auto 1fr;\n }\n }\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:sm\\:max-w-sm {\n .room-platform-room &[data-side=\"left\"] {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:sm\\:max-w-sm {\n .room-platform-room &[data-side=\"right\"] {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n }\n .room-platform-room .data-\\[size\\=default\\]\\:sm\\:max-w-sm {\n .room-platform-room &[data-size=\"default\"] {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n }\n .room-platform-room .md\\:block {\n @media (width >= 48rem) {\n display: block;\n }\n }\n .room-platform-room .md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .room-platform-room .md\\:inline-flex {\n @media (width >= 48rem) {\n display: inline-flex;\n }\n }\n .room-platform-room .md\\:max-w-\\[300px\\] {\n @media (width >= 48rem) {\n max-width: 300px;\n }\n }\n .room-platform-room .md\\:grid-cols-1 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .room-platform-room .md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(12rem\\,16rem\\)\\] {\n @media (width >= 48rem) {\n grid-template-columns: minmax(0,1fr) minmax(12rem,16rem);\n }\n }\n .room-platform-room .md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(260px\\,300px\\)\\] {\n @media (width >= 48rem) {\n grid-template-columns: minmax(0,1fr) minmax(260px,300px);\n }\n }\n .room-platform-room .md\\:grid-rows-1 {\n @media (width >= 48rem) {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n }\n }\n .room-platform-room .md\\:flex-row {\n @media (width >= 48rem) {\n flex-direction: row;\n }\n }\n .room-platform-room .md\\:justify-self-end {\n @media (width >= 48rem) {\n justify-self: flex-end;\n }\n }\n .room-platform-room .md\\:border-l {\n @media (width >= 48rem) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .room-platform-room .md\\:border-white\\/10 {\n @media (width >= 48rem) {\n border-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n .room-platform-room .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .md\\:text-pretty {\n @media (width >= 48rem) {\n text-wrap: pretty;\n }\n }\n .room-platform-room .md\\:opacity-0 {\n @media (width >= 48rem) {\n opacity: 0%;\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:m-2 {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin: calc(var(--spacing) * 2);\n }\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:ml-0 {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin-left: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n border-radius: var(--radius-xl);\n }\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2 {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n .room-platform-room &:is(:where(.peer)[data-state=\"collapsed\"] ~ *) {\n margin-left: calc(var(--spacing) * 2);\n }\n }\n }\n }\n .room-platform-room .md\\:after\\:hidden {\n @media (width >= 48rem) {\n .room-platform-room &::after {\n content: var(--tw-content);\n display: none;\n }\n }\n }\n .room-platform-room .lg\\:grid-cols-2 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .room-platform-room .\\@md\\/field-group\\:flex-row {\n @container field-group (width >= 28rem) {\n flex-direction: row;\n }\n }\n .room-platform-room .\\@md\\/field-group\\:items-center {\n @container field-group (width >= 28rem) {\n align-items: center;\n }\n }\n .room-platform-room .\\@md\\/field-group\\:\\*\\:w-auto {\n @container field-group (width >= 28rem) {\n .room-platform-room :is(& > *) {\n width: auto;\n }\n }\n }\n .room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start {\n @container field-group (width >= 28rem) {\n .room-platform-room &:has(>[data-slot=field-content]) {\n align-items: flex-start;\n }\n }\n }\n .room-platform-room .\\@md\\/field-group\\:\\*\\:data-\\[slot\\=field-label\\]\\:flex-auto {\n @container field-group (width >= 28rem) {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"field-label\"] {\n flex: auto;\n }\n }\n }\n }\n .room-platform-room .ltr\\:-translate-x-1\\/2 {\n .room-platform-room &:where(:dir(ltr), [dir=\"ltr\"], [dir=\"ltr\"] *) {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .rtl\\:-translate-x-1\\/2 {\n .room-platform-room &:where(:dir(rtl), [dir=\"rtl\"], [dir=\"rtl\"] *) {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .dark\\:border-input {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-input);\n }\n }\n .room-platform-room .dark\\:bg-destructive\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .dark\\:bg-input\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n .room-platform-room .dark\\:bg-transparent {\n @media (prefers-color-scheme: dark) {\n background-color: transparent;\n }\n }\n .room-platform-room .dark\\:text-muted-foreground {\n @media (prefers-color-scheme: dark) {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .dark\\:hover\\:bg-destructive\\/30 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 30%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .dark\\:hover\\:bg-input\\/50 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .dark\\:hover\\:bg-muted\\/50 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .dark\\:hover\\:text-foreground {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-foreground);\n }\n }\n }\n }\n .room-platform-room .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:focus-visible {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:disabled\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:disabled {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:disabled\\:bg-transparent {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:disabled {\n background-color: transparent;\n }\n }\n }\n .room-platform-room .dark\\:has-disabled\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*:disabled) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-aria-invalid\\:border-destructive\\/50 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n border-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-data-checked\\:border-primary\\/20 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*:where([data-state=\"checked\"]), *:where([data-checked]:not([data-checked=\"false\"]))) {\n border-color: color-mix(in srgb, #242f62 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 20%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-data-checked\\:bg-primary\\/10 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*:where([data-state=\"checked\"]), *:where([data-checked]:not([data-checked=\"false\"]))) {\n background-color: color-mix(in srgb, #242f62 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*:is([data-slot][aria-invalid=true])) {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:aria-invalid\\:border-destructive\\/50 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &[aria-invalid=\"true\"] {\n border-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &[data-variant=\"destructive\"] {\n .room-platform-room &:focus {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .data-open\\:animate-in {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n 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);\n }\n }\n .room-platform-room .data-open\\:bg-accent {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n background-color: var(--color-accent);\n }\n }\n .room-platform-room .data-open\\:text-accent-foreground {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n color: var(--color-accent-foreground);\n }\n }\n .room-platform-room .data-open\\:fade-in-0 {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-opacity: calc(0/100);\n --tw-enter-opacity: 0;\n }\n }\n .room-platform-room .data-open\\:zoom-in-95 {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-scale: calc(95*1%);\n --tw-enter-scale: .95;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:data-open\\:slide-in-from-bottom-10 {\n .room-platform-room &[data-side=\"bottom\"] {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-translate-y: calc(10*var(--spacing));\n --tw-enter-translate-y: calc(.1*100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:data-open\\:slide-in-from-left-10 {\n .room-platform-room &[data-side=\"left\"] {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-translate-x: calc(10*var(--spacing)*-1);\n --tw-enter-translate-x: calc(.1*-100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:data-open\\:slide-in-from-right-10 {\n .room-platform-room &[data-side=\"right\"] {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-translate-x: calc(10*var(--spacing));\n --tw-enter-translate-x: calc(.1*100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:data-open\\:slide-in-from-top-10 {\n .room-platform-room &[data-side=\"top\"] {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-translate-y: calc(10*var(--spacing)*-1);\n --tw-enter-translate-y: calc(.1*-100%);\n }\n }\n }\n .room-platform-room .data-closed\\:animate-out {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n 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);\n }\n }\n .room-platform-room .data-closed\\:fade-out-0 {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-opacity: calc(0/100);\n --tw-exit-opacity: 0;\n }\n }\n .room-platform-room .data-closed\\:zoom-out-95 {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-scale: calc(95*1%);\n --tw-exit-scale: .95;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:data-closed\\:slide-out-to-bottom-10 {\n .room-platform-room &[data-side=\"bottom\"] {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-translate-y: calc(10*var(--spacing));\n --tw-exit-translate-y: calc(.1*100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:data-closed\\:slide-out-to-left-10 {\n .room-platform-room &[data-side=\"left\"] {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-translate-x: calc(10*var(--spacing)*-1);\n --tw-exit-translate-x: calc(.1*-100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:data-closed\\:slide-out-to-right-10 {\n .room-platform-room &[data-side=\"right\"] {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-translate-x: calc(10*var(--spacing));\n --tw-exit-translate-x: calc(.1*100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:data-closed\\:slide-out-to-top-10 {\n .room-platform-room &[data-side=\"top\"] {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-translate-y: calc(10*var(--spacing)*-1);\n --tw-exit-translate-y: calc(.1*-100%);\n }\n }\n }\n .room-platform-room .data-checked\\:border-primary {\n .room-platform-room &:where([data-state=\"checked\"]), .room-platform-room &:where([data-checked]:not([data-checked=\"false\"])) {\n border-color: var(--color-primary);\n }\n }\n .room-platform-room .data-checked\\:bg-primary {\n .room-platform-room &:where([data-state=\"checked\"]), .room-platform-room &:where([data-checked]:not([data-checked=\"false\"])) {\n background-color: var(--color-primary);\n }\n }\n .room-platform-room .data-checked\\:text-primary-foreground {\n .room-platform-room &:where([data-state=\"checked\"]), .room-platform-room &:where([data-checked]:not([data-checked=\"false\"])) {\n color: var(--color-primary-foreground);\n }\n }\n .room-platform-room .dark\\:data-checked\\:bg-primary {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:where([data-state=\"checked\"]), .room-platform-room &:where([data-checked]:not([data-checked=\"false\"])) {\n background-color: var(--color-primary);\n }\n }\n }\n .room-platform-room .data-disabled\\:pointer-events-none {\n .room-platform-room &:where([data-disabled=\"true\"]), .room-platform-room &:where([data-disabled]:not([data-disabled=\"false\"])) {\n pointer-events: none;\n }\n }\n .room-platform-room .data-disabled\\:opacity-50 {\n .room-platform-room &:where([data-disabled=\"true\"]), .room-platform-room &:where([data-disabled]:not([data-disabled=\"false\"])) {\n opacity: 50%;\n }\n }\n .room-platform-room .data-active\\:bg-background {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n background-color: var(--color-background);\n }\n }\n .room-platform-room .data-active\\:font-medium {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .room-platform-room .data-active\\:text-foreground {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n color: var(--color-foreground);\n }\n }\n .room-platform-room .group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"default\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n background-color: transparent;\n }\n }\n }\n .room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100 {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n .room-platform-room &::after {\n content: var(--tw-content);\n opacity: 100%;\n }\n }\n }\n }\n .room-platform-room .dark\\:data-active\\:border-input {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n border-color: var(--color-input);\n }\n }\n }\n .room-platform-room .dark\\:data-active\\:bg-input\\/30 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:data-active\\:text-foreground {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n color: var(--color-foreground);\n }\n }\n }\n .room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n border-color: transparent;\n }\n }\n }\n }\n .room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n background-color: transparent;\n }\n }\n }\n }\n .room-platform-room .data-horizontal\\:mx-px {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n margin-inline: 1px;\n }\n }\n .room-platform-room .data-horizontal\\:h-px {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n height: 1px;\n }\n }\n .room-platform-room .data-horizontal\\:w-auto {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n width: auto;\n }\n }\n .room-platform-room .data-horizontal\\:w-full {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n width: 100%;\n }\n }\n .room-platform-room .data-horizontal\\:flex-col {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n flex-direction: column;\n }\n }\n .room-platform-room .data-vertical\\:my-px {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n margin-block: 1px;\n }\n }\n .room-platform-room .data-vertical\\:h-auto {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n height: auto;\n }\n }\n .room-platform-room .data-vertical\\:w-px {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n width: 1px;\n }\n }\n .room-platform-room .data-vertical\\:flex-col {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n flex-direction: column;\n }\n }\n .room-platform-room .data-vertical\\:items-stretch {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n align-items: stretch;\n }\n }\n .room-platform-room .data-vertical\\:self-stretch {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n align-self: stretch;\n }\n }\n .room-platform-room .\\[\\&_a\\]\\:underline {\n .room-platform-room & a {\n text-decoration-line: underline;\n }\n }\n .room-platform-room .\\[\\&_a\\]\\:underline-offset-3 {\n .room-platform-room & a {\n text-underline-offset: 3px;\n }\n }\n .room-platform-room .\\[\\&_a\\]\\:hover\\:text-foreground {\n .room-platform-room & a {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-foreground);\n }\n }\n }\n }\n .room-platform-room .\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 {\n .room-platform-room & p:not(:last-child) {\n margin-bottom: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&_svg\\]\\:pointer-events-none {\n .room-platform-room & svg {\n pointer-events: none;\n }\n }\n .room-platform-room .\\[\\&_svg\\]\\:size-4 {\n .room-platform-room & svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&_svg\\]\\:shrink-0 {\n .room-platform-room & svg {\n flex-shrink: 0;\n }\n }\n .room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3 {\n .room-platform-room & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5 {\n .room-platform-room & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n }\n .room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n .room-platform-room & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&_tr\\]\\:border-b {\n .room-platform-room & tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .room-platform-room .\\[\\&_tr\\:last-child\\]\\:border-0 {\n .room-platform-room & tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .room-platform-room .\\[\\&\\:first-child\\[data-selected\\=true\\]_button\\]\\:rounded-l-\\(--cell-radius\\) {\n .room-platform-room &:first-child[data-selected=true] button {\n border-top-left-radius: var(--cell-radius);\n border-bottom-left-radius: var(--cell-radius);\n }\n }\n .room-platform-room .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0 {\n .room-platform-room &:has([role=checkbox]) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .\\[\\.border-b\\]\\:pb-2 {\n .room-platform-room &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .\\[\\.border-b\\]\\:pb-4 {\n .room-platform-room &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3 {\n .room-platform-room &:is(:where(.group\\/card)[data-size=\"sm\"] *) {\n .room-platform-room &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 3);\n }\n }\n }\n .room-platform-room .\\[\\.border-t\\]\\:pt-2 {\n .room-platform-room &:is(.border-t) {\n padding-top: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_next\\>svg\\]\\:rotate-180 {\n .room-platform-room &:where(:dir(rtl), [dir=\"rtl\"], [dir=\"rtl\"] *) {\n .room-platform-room :is(& *) {\n .room-platform-room &:is(.rdp-button_next>svg) {\n rotate: 180deg;\n }\n }\n }\n }\n .room-platform-room .rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_previous\\>svg\\]\\:rotate-180 {\n .room-platform-room &:where(:dir(rtl), [dir=\"rtl\"], [dir=\"rtl\"] *) {\n .room-platform-room :is(& *) {\n .room-platform-room &:is(.rdp-button_previous>svg) {\n rotate: 180deg;\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[a\\]\\:underline {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(a) {\n text-decoration-line: underline;\n }\n }\n }\n .room-platform-room .\\*\\:\\[a\\]\\:underline-offset-3 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(a) {\n text-underline-offset: 3px;\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:bg-destructive\\/20 {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:bg-muted {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:bg-primary\\/80 {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #242f62 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 80%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:bg-secondary\\/80 {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #eb6619 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:text-muted-foreground {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-muted-foreground);\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[a\\]\\:hover\\:text-foreground {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-foreground);\n }\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(img:first-child) {\n border-top-left-radius: var(--radius-xl);\n border-top-right-radius: var(--radius-xl);\n }\n }\n }\n .room-platform-room .\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(img:last-child) {\n border-bottom-right-radius: var(--radius-xl);\n border-bottom-left-radius: var(--radius-xl);\n }\n }\n }\n .room-platform-room .\\*\\:\\[span\\]\\:last\\:flex {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(span) {\n .room-platform-room &:last-child {\n display: flex;\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[span\\]\\:last\\:items-center {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(span) {\n .room-platform-room &:last-child {\n align-items: center;\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[span\\]\\:last\\:gap-2 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(span) {\n .room-platform-room &:last-child {\n gap: calc(var(--spacing) * 2);\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\]\\:row-span-2 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg) {\n grid-row: span 2 / span 2;\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\]\\:translate-y-0\\.5 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg) {\n --tw-translate-y: calc(var(--spacing) * 0.5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\]\\:text-current {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg) {\n color: currentcolor;\n }\n }\n }\n .room-platform-room .data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive {\n .room-platform-room &[data-variant=\"destructive\"] {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg) {\n color: var(--color-destructive);\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg:not([class*='size-'])) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-6 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg:not([class*='size-'])) {\n width: calc(var(--spacing) * 6);\n height: calc(var(--spacing) * 6);\n }\n }\n }\n .room-platform-room .\\[\\&\\:last-child\\[data-selected\\=true\\]_button\\]\\:rounded-r-\\(--cell-radius\\) {\n .room-platform-room &:last-child[data-selected=true] button {\n border-top-right-radius: var(--cell-radius);\n border-bottom-right-radius: var(--cell-radius);\n }\n }\n .room-platform-room .\\[\\&\\:nth-child\\(2\\)\\[data-selected\\=true\\]_button\\]\\:rounded-l-\\(--cell-radius\\) {\n .room-platform-room &:nth-child(2)[data-selected=true] button {\n border-top-left-radius: var(--cell-radius);\n border-bottom-left-radius: var(--cell-radius);\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none {\n .room-platform-room &>*:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-none {\n .room-platform-room &>*:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0 {\n .room-platform-room &>*:not(:first-child) {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-l-0 {\n .room-platform-room &>*:not(:first-child) {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-none {\n .room-platform-room &>*:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none {\n .room-platform-room &>*:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n .room-platform-room .\\[\\&\\>\\.sr-only\\]\\:w-auto {\n .room-platform-room &>.sr-only {\n width: auto;\n }\n }\n .room-platform-room .has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-r-lg {\n .room-platform-room &:has(*:is(select[aria-hidden=true]:last-child)) {\n .room-platform-room &>[data-slot=select-trigger]:last-of-type {\n border-top-right-radius: var(--radius-lg);\n border-bottom-right-radius: var(--radius-lg);\n }\n }\n }\n .room-platform-room .\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=\\'w-\\'\\]\\)\\]\\:w-fit {\n .room-platform-room &>[data-slot=select-trigger]:not([class*='w-']) {\n width: fit-content;\n }\n }\n .room-platform-room .\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-r-lg\\! {\n .room-platform-room &>[data-slot]:not(:has(~[data-slot])) {\n border-top-right-radius: var(--radius-lg) !important;\n border-bottom-right-radius: var(--radius-lg) !important;\n }\n }\n .room-platform-room .\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\! {\n .room-platform-room &>[data-slot]:not(:has(~[data-slot])) {\n border-bottom-right-radius: var(--radius-lg) !important;\n border-bottom-left-radius: var(--radius-lg) !important;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px {\n .room-platform-room &:has(>[data-slot=field-content]) {\n .room-platform-room &>[role=checkbox],.room-platform-room [role=radio] {\n margin-top: 1px;\n }\n }\n }\n .room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px {\n @container field-group (width >= 28rem) {\n .room-platform-room &:has(>[data-slot=field-content]) {\n .room-platform-room &>[role=checkbox],.room-platform-room [role=radio] {\n margin-top: 1px;\n }\n }\n }\n }\n .room-platform-room .\\[\\&\\>a\\]\\:underline {\n .room-platform-room &>a {\n text-decoration-line: underline;\n }\n }\n .room-platform-room .\\[\\&\\>a\\]\\:underline-offset-4 {\n .room-platform-room &>a {\n text-underline-offset: 4px;\n }\n }\n .room-platform-room .\\[\\&\\>a\\:hover\\]\\:text-primary {\n .room-platform-room &>a:hover {\n color: var(--color-primary);\n }\n }\n .room-platform-room .\\[\\&\\>button\\]\\:hidden {\n .room-platform-room &>button {\n display: none;\n }\n }\n .room-platform-room .\\[\\&\\>input\\]\\:flex-1 {\n .room-platform-room &>input {\n flex: 1;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3 {\n .room-platform-room &:has(>[data-align=block-end]) {\n .room-platform-room &>input {\n padding-top: calc(var(--spacing) * 3);\n }\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3 {\n .room-platform-room &:has(>[data-align=block-start]) {\n .room-platform-room &>input {\n padding-bottom: calc(var(--spacing) * 3);\n }\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pr-1\\.5 {\n .room-platform-room &:has(>[data-align=inline-end]) {\n .room-platform-room &>input {\n padding-right: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:pl-1\\.5 {\n .room-platform-room &:has(>[data-align=inline-start]) {\n .room-platform-room &>input {\n padding-left: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\] {\n .room-platform-room &>kbd {\n border-radius: calc(var(--radius) - 5px);\n }\n }\n .room-platform-room .\\[\\&\\>span\\]\\:text-xs {\n .room-platform-room &>span {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n }\n .room-platform-room .\\[\\&\\>span\\]\\:opacity-70 {\n .room-platform-room &>span {\n opacity: 70%;\n }\n }\n .room-platform-room .\\[\\&\\>span\\:last-child\\]\\:truncate {\n .room-platform-room &>span:last-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:pointer-events-none {\n .room-platform-room &>svg {\n pointer-events: none;\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:size-3\\! {\n .room-platform-room &>svg {\n width: calc(var(--spacing) * 3) !important;\n height: calc(var(--spacing) * 3) !important;\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:size-3\\.5 {\n .room-platform-room &>svg {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:size-4 {\n .room-platform-room &>svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:shrink-0 {\n .room-platform-room &>svg {\n flex-shrink: 0;\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:text-muted-foreground {\n .room-platform-room &>svg {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5 {\n .room-platform-room &>svg:not([class*='size-']) {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n }\n .room-platform-room .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n .room-platform-room &>svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&\\>tr\\]\\:last\\:border-b-0 {\n .room-platform-room &>tr {\n .room-platform-room &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n }\n .room-platform-room .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2 {\n .room-platform-room [data-side=left][data-collapsible=offcanvas] & {\n right: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize {\n .room-platform-room [data-side=left][data-state=collapsed] & {\n cursor: e-resize;\n }\n }\n .room-platform-room .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2 {\n .room-platform-room [data-side=right][data-collapsible=offcanvas] & {\n left: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize {\n .room-platform-room [data-side=right][data-state=collapsed] & {\n cursor: w-resize;\n }\n }\n .room-platform-room .\\[\\[data-variant\\=legend\\]\\+\\&\\]\\:-mt-1\\.5 {\n .room-platform-room [data-variant=legend]+& {\n margin-top: calc(var(--spacing) * -1.5);\n }\n }\n}\n@property --tw-animation-delay {\n syntax: \"*\";\n inherits: false;\n initial-value: 0s;\n}\n@property --tw-animation-direction {\n syntax: \"*\";\n inherits: false;\n initial-value: normal;\n}\n@property --tw-animation-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-animation-fill-mode {\n syntax: \"*\";\n inherits: false;\n initial-value: none;\n}\n@property --tw-animation-iteration-count {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-enter-blur {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-enter-opacity {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-enter-rotate {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-enter-scale {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-enter-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-enter-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-exit-blur {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-exit-opacity {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-exit-rotate {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-exit-scale {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-exit-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-exit-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n.room-platform-room .navi-chat__panel {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: var(--navi-chat-radius, 10px);\n background: var(--navi-chat-color-surface, #ffffff);\n color: var(--navi-chat-color-text, #111827);\n font-family: var(--navi-chat-font-family, Inter, ui-sans-serif, system-ui, sans-serif);\n}\n.room-platform-room .navi-chat__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n flex: 0 0 auto;\n padding: 10px 12px;\n border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);\n background: #f8fafc;\n}\n.room-platform-room .navi-chat__header-main {\n min-width: 0;\n}\n.room-platform-room .navi-chat__title {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin: 0;\n overflow: hidden;\n color: var(--navi-chat-color-text, #111827);\n font-size: 14px;\n font-weight: 700;\n line-height: 1.25;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.room-platform-room .navi-chat__online-count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n border-radius: 999px;\n background: #eff6ff;\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n padding: 0 6px;\n}\n.room-platform-room .navi-chat__header-meta {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n gap: 8px;\n}\n.room-platform-room .navi-chat__role-badge {\n border-radius: 999px;\n background: #eff6ff;\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 12px;\n font-weight: 600;\n line-height: 1;\n padding: 5px 8px;\n}\n.room-platform-room .navi-chat__rooms {\n display: flex;\n flex: 0 0 auto;\n gap: 6px;\n overflow-x: auto;\n padding: 10px;\n border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);\n}\n.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 {\n font: inherit;\n}\n.room-platform-room .navi-chat__room-tab {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n max-width: 160px;\n border: 0;\n border-radius: 8px;\n background: #f1f5f9;\n color: #475569;\n cursor: pointer;\n padding: 7px 10px;\n}\n.room-platform-room .navi-chat__room-tab--active {\n background: var(--navi-chat-color-primary, #2563eb);\n color: #ffffff;\n}\n.room-platform-room .navi-chat__room-tab-label {\n display: block;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.room-platform-room .navi-chat__unread-badge {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n border-radius: 999px;\n background: #eff6ff;\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 11px;\n font-weight: 700;\n line-height: 1;\n padding: 0 5px;\n}\n.room-platform-room .navi-chat__room-tab--active .navi-chat__unread-badge {\n background: rgba(255, 255, 255, 0.18);\n color: #ffffff;\n}\n.room-platform-room .navi-chat__messages {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n min-height: 0;\n overflow-y: auto;\n padding: 14px;\n background: #fbfdff;\n}\n.room-platform-room .navi-chat__messages-stack {\n display: flex;\n flex-direction: column;\n gap: 10px;\n margin-top: auto;\n}\n.room-platform-room .navi-chat__empty {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 0;\n padding: 24px;\n background: #fbfdff;\n color: #64748b;\n text-align: center;\n}\n.room-platform-room .navi-chat__empty strong {\n margin-top: 8px;\n color: #334155;\n font-size: 14px;\n}\n.room-platform-room .navi-chat__empty span {\n margin-top: 4px;\n font-size: 13px;\n}\n.room-platform-room .navi-chat__empty-icon {\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 22px;\n line-height: 1;\n}\n.room-platform-room .navi-chat__message {\n display: flex;\n}\n.room-platform-room .navi-chat__message-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.room-platform-room .navi-chat__loading-older {\n align-self: center;\n color: #64748b;\n font-size: 12px;\n font-weight: 600;\n padding: 4px 0;\n}\n.room-platform-room .navi-chat__message--own {\n justify-content: flex-end;\n}\n.room-platform-room .navi-chat__message-row {\n position: relative;\n display: flex;\n align-items: flex-end;\n gap: 6px;\n min-width: 0;\n max-width: min(82%, 560px);\n}\n.room-platform-room .navi-chat__message-row--own {\n flex-direction: row-reverse;\n}\n.room-platform-room .navi-chat__message-bubble {\n min-width: 0;\n max-width: 100%;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 10px;\n background: #ffffff;\n padding: 9px 11px;\n box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);\n}\n.room-platform-room .navi-chat__message--grouped .navi-chat__message-bubble {\n padding-top: 8px;\n}\n.room-platform-room .navi-chat__message--own .navi-chat__message-bubble {\n border-color: var(--navi-chat-own-message-border, #bfdbfe);\n background: var(--navi-chat-own-message-background, #eff6ff);\n}\n.room-platform-room .navi-chat__message--deleted .navi-chat__message-bubble {\n background: #f8fafc;\n color: #64748b;\n font-style: italic;\n}\n.room-platform-room .navi-chat__message-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n margin-bottom: 4px;\n}\n.room-platform-room .navi-chat__message-author {\n overflow: hidden;\n color: #334155;\n font-size: 12px;\n font-weight: 700;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.room-platform-room .navi-chat__message-time {\n color: #94a3b8;\n font-size: 11px;\n white-space: nowrap;\n}\n.room-platform-room .navi-chat__message-text {\n margin: 0;\n color: var(--navi-chat-color-text, #111827);\n font-size: 13px;\n line-height: 1.45;\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n.room-platform-room .navi-chat__message-action {\n margin-top: 8px;\n border: 0;\n background: transparent;\n color: var(--navi-chat-color-primary, #2563eb);\n cursor: pointer;\n font-size: 12px;\n font-weight: 600;\n padding: 0;\n}\n.room-platform-room .navi-chat__message-menu {\n position: absolute;\n right: -30px;\n bottom: 2px;\n z-index: 3;\n display: inline-flex;\n flex: 0 0 auto;\n opacity: 0;\n pointer-events: none;\n transition: opacity 120ms ease, transform 120ms ease;\n transform: translateY(2px);\n vertical-align: middle;\n}\n.room-platform-room .navi-chat__message-row--own .navi-chat__message-menu {\n right: auto;\n left: -30px;\n}\n.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 {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0);\n}\n.room-platform-room .navi-chat__message-menu-trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 999px;\n background: #ffffff;\n color: #64748b;\n cursor: pointer;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n padding: 0;\n box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);\n}\n.room-platform-room .navi-chat__message-menu-trigger:hover, .room-platform-room .navi-chat__message-menu-trigger:focus-visible {\n border-color: #bfdbfe;\n background: #eff6ff;\n color: var(--navi-chat-color-primary, #2563eb);\n}\n.room-platform-room .navi-chat__message-menu-popover {\n position: absolute;\n right: 0;\n bottom: 32px;\n z-index: 2;\n display: flex;\n min-width: 82px;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 8px;\n background: #ffffff;\n box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);\n}\n.room-platform-room .navi-chat__message-row--own .navi-chat__message-menu-popover {\n right: auto;\n left: 0;\n}\n.room-platform-room .navi-chat__message-menu-item {\n border: 0;\n background: transparent;\n color: var(--navi-chat-color-text, #111827);\n cursor: pointer;\n font-size: 12px;\n font-weight: 600;\n line-height: 1;\n padding: 8px 10px;\n text-align: left;\n}\n.room-platform-room .navi-chat__message-menu-item:hover, .room-platform-room .navi-chat__message-menu-item:focus-visible {\n background: #f1f5f9;\n color: var(--navi-chat-color-primary, #2563eb);\n}\n.room-platform-room .navi-chat__message-edit {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.room-platform-room .navi-chat__message-edit-input {\n box-sizing: border-box;\n width: min(280px, 100%);\n min-height: 64px;\n resize: vertical;\n border: 1px solid #cbd5e1;\n border-radius: 8px;\n background: #ffffff;\n color: var(--navi-chat-color-text, #111827);\n font-size: 13px;\n line-height: 1.4;\n padding: 8px 9px;\n}\n.room-platform-room .navi-chat__message-edit-actions {\n display: flex;\n justify-content: flex-end;\n gap: 6px;\n}\n.room-platform-room .navi-chat__message-edit-button {\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 7px;\n background: #ffffff;\n color: #334155;\n cursor: pointer;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n padding: 7px 9px;\n}\n.room-platform-room .navi-chat__message-edit-button--primary {\n border-color: var(--navi-chat-color-primary, #2563eb);\n background: var(--navi-chat-color-primary, #2563eb);\n color: #ffffff;\n}\n.room-platform-room .navi-chat__latest-overlay {\n position: sticky;\n bottom: 8px;\n align-self: stretch;\n box-sizing: border-box;\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n gap: 8px;\n margin-top: 8px;\n pointer-events: none;\n}\n.room-platform-room .navi-chat__new-message-notice {\n grid-column: 2;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 999px;\n background: #ffffff;\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n padding: 8px 12px;\n box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);\n}\n.room-platform-room .navi-chat__scroll-latest {\n grid-column: 3;\n justify-self: end;\n box-sizing: border-box;\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n height: 34px;\n margin-right: 4px;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 50%;\n background: #ffffff;\n color: var(--navi-chat-color-primary, #2563eb);\n cursor: pointer;\n padding: 0;\n pointer-events: auto;\n box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);\n}\n.room-platform-room .navi-chat__scroll-latest-icon {\n width: 18px;\n height: 18px;\n fill: currentColor;\n}\n.room-platform-room .navi-chat__composer {\n display: flex;\n flex: 0 0 auto;\n align-items: flex-end;\n gap: 8px;\n padding: 10px;\n border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);\n background: #ffffff;\n}\n.room-platform-room .navi-chat__composer-main {\n display: flex;\n flex: 1 1 auto;\n min-width: 0;\n flex-direction: column;\n gap: 4px;\n}\n.room-platform-room .navi-chat__composer-input {\n flex: 1 1 auto;\n min-width: 0;\n min-height: 38px;\n max-height: 84px;\n resize: vertical;\n border: 1px solid #cbd5e1;\n border-radius: 8px;\n color: var(--navi-chat-color-text, #111827);\n font: inherit;\n font-size: 13px;\n line-height: 1.4;\n padding: 9px 10px;\n}\n.room-platform-room .navi-chat__composer-tip {\n margin: 0;\n color: #64748b;\n font-size: 11px;\n line-height: 1.3;\n}\n.room-platform-room .navi-chat__send-button {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n align-self: center;\n width: 44px;\n height: 44px;\n border: 0;\n border-radius: 999px;\n background: var(--navi-chat-color-primary, #2563eb);\n color: #ffffff;\n cursor: pointer;\n padding: 0;\n}\n.room-platform-room .navi-chat__send-button:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n}\n.room-platform-room .navi-chat__send-icon {\n width: 18px;\n height: 18px;\n fill: currentColor;\n}\n.room-platform-room .navi-chat__readonly {\n flex: 0 0 auto;\n border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);\n background: #f8fafc;\n color: #64748b;\n font-size: 13px;\n padding: 12px 14px;\n}\n.room-platform-room .navi-chat__status {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n}\n.room-platform-room .navi-chat__status-dot {\n width: 9px;\n height: 9px;\n border-radius: 999px;\n background: #94a3b8;\n}\n.room-platform-room .navi-chat__status--connected .navi-chat__status-dot {\n background: #16a34a;\n}\n.room-platform-room .navi-chat__status--muted .navi-chat__status-dot {\n background: #94a3b8;\n}\n.room-platform-room .navi-chat__status--error .navi-chat__status-dot {\n background: #dc2626;\n}\n.room-platform-room .whiteboard-react-canvas {\n position: relative;\n width: 100%;\n height: 100%;\n}\n.room-platform-room .whiteboard-react-canvas__scene {\n position: relative;\n height: 100%;\n min-height: 100%;\n}\n.room-platform-room .whiteboard-react-canvas__layer {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n}\n.room-platform-room .whiteboard-react-canvas__layer--scene {\n z-index: 10;\n pointer-events: none;\n}\n.room-platform-room .whiteboard-react-canvas__layer--interaction {\n z-index: 11;\n touch-action: none;\n user-select: none;\n -webkit-user-select: none;\n}\n.room-platform-room .whiteboard-react-trigger, .room-platform-room .whiteboard-react-toolbar, .room-platform-room .whiteboard-react-toolbar__popover {\n --whiteboard-overlay-bg: rgb(255 255 255 / 0.94);\n --whiteboard-overlay-border: rgb(148 163 184 / 0.32);\n --whiteboard-overlay-shadow: 0 18px 40px rgb(15 23 42 / 0.24);\n --whiteboard-overlay-text: #0f172a;\n --whiteboard-overlay-muted: #475569;\n --whiteboard-overlay-accent: #0f766e;\n --whiteboard-overlay-accent-soft: rgb(15 118 110 / 0.12);\n --whiteboard-overlay-danger: #dc2626;\n position: fixed;\n border: 1px solid var(--whiteboard-overlay-border);\n border-radius: 1.125rem;\n background: var(--whiteboard-overlay-bg);\n color: var(--whiteboard-overlay-text);\n box-shadow: var(--whiteboard-overlay-shadow);\n backdrop-filter: blur(16px);\n}\n.room-platform-room .whiteboard-react-trigger {\n z-index: 60;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n padding: 0;\n border: 0;\n border-radius: 999px;\n background: #252627;\n color: #00ff9d;\n cursor: pointer;\n transition: background 140ms ease, color 140ms ease;\n}\n.room-platform-room .whiteboard-react-trigger:hover {\n background: #00ff9d;\n color: #000;\n}\n.room-platform-room .whiteboard-react-toolbar__tooltip-trigger {\n display: inline-flex;\n}\n.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 {\n outline: 2px solid rgb(15 118 110 / 0.45);\n outline-offset: 2px;\n}\n.room-platform-room .whiteboard-react-trigger__icon {\n width: 1.5rem;\n height: 1.5rem;\n flex: none;\n}\n.room-platform-room .whiteboard-react-toolbar__icon {\n width: 1.35rem;\n height: 1.35rem;\n flex: none;\n}\n.room-platform-room .whiteboard-react-toolbar__icon.ColorSvg {\n width: 2rem;\n}\n.room-platform-room .whiteboard-react-trigger__label {\n white-space: nowrap;\n}\n.room-platform-room .whiteboard-react-trigger__status-dot, .room-platform-room .whiteboard-react-toolbar__status-dot {\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 999px;\n background: var(--whiteboard-overlay-accent);\n box-shadow: 0 0 0 4px rgb(15 118 110 / 0.14);\n flex: none;\n}\n.room-platform-room .whiteboard-react-trigger[data-runtime-state='failed'] .whiteboard-react-trigger__status-dot {\n background: var(--whiteboard-overlay-danger);\n box-shadow: 0 0 0 4px rgb(220 38 38 / 0.12);\n}\n.room-platform-room .whiteboard-react-toolbar {\n z-index: 61;\n border: 0.15rem solid rgb(226 232 240 / 0.72);\n border-radius: 0.5rem;\n background: #292a2c;\n color: #f8fafc;\n box-shadow: 0 12px 28px rgb(15 23 42 / 0.3);\n transition: transform 140ms ease, box-shadow 140ms ease;\n transform-origin: center;\n animation: whiteboard-toolbar-orientation-vertical 180ms ease-in-out;\n}\n@keyframes whiteboard-toolbar-orientation-vertical {\n from {\n transform: scaleX(1.2);\n }\n to {\n transform: scale(1);\n }\n}\n@keyframes whiteboard-toolbar-orientation-horizontal {\n from {\n transform: scaleX(1.2);\n }\n to {\n transform: scale(1);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .room-platform-room .whiteboard-react-toolbar {\n animation: none;\n transition: none;\n }\n}\n.room-platform-room .whiteboard-react-toolbar__chrome {\n display: flex;\n flex-direction: column;\n gap: 0.3rem;\n padding: 0.4rem;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__chrome {\n flex-direction: row;\n align-items: center;\n box-sizing: border-box;\n padding: 0.4rem;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] {\n animation-name: whiteboard-toolbar-orientation-horizontal;\n}\n.room-platform-room .whiteboard-react-toolbar__drag-handle {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-top: 0.75rem;\n width: 2rem;\n height: 2rem;\n border-radius: 0.65rem;\n background: transparent;\n color: rgb(226 232 240 / 0.84);\n cursor: grab;\n transition: color 120ms ease, border-color 120ms ease;\n}\n.room-platform-room .whiteboard-react-toolbar__drag-handle::before {\n position: absolute;\n top: -0.5rem;\n right: 0;\n left: 0;\n height: 1px;\n content: '';\n background: rgb(226 232 240 / 0.45);\n}\n.room-platform-room .whiteboard-react-toolbar__drag-handle:hover {\n color: #fff;\n background: rgb(255 255 255 / 0.1);\n}\n.room-platform-room .whiteboard-react-toolbar__drag-handle:active {\n cursor: grabbing;\n}\n.room-platform-room .whiteboard-react-toolbar__status {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n max-width: 16rem;\n padding: 0.625rem 0.75rem;\n border-radius: 0.875rem;\n background: rgb(248 250 252 / 0.96);\n color: var(--whiteboard-overlay-muted);\n font-size: 0.8125rem;\n font-weight: 500;\n}\n.room-platform-room .whiteboard-react-toolbar__status[data-state='failed'] {\n color: var(--whiteboard-overlay-danger);\n background: rgb(254 242 242 / 0.96);\n}\n.room-platform-room .whiteboard-react-toolbar__status[data-state='busy'] {\n color: var(--whiteboard-overlay-accent);\n background: rgb(240 253 250 / 0.96);\n}\n.room-platform-room .whiteboard-react-toolbar__status-action {\n margin-left: 0.25rem;\n border: 0;\n background: transparent;\n color: inherit;\n font-weight: 700;\n text-decoration: underline;\n}\n.room-platform-room .whiteboard-react-toolbar__rail {\n display: flex;\n gap: 0.5rem;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='vertical'] .whiteboard-react-toolbar__rail {\n flex-direction: column;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__rail {\n flex-direction: row;\n align-items: center;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__drag-handle::before {\n top: 0;\n right: auto;\n bottom: 0;\n left: -0.15rem;\n width: 1px;\n height: auto;\n}\n.room-platform-room .whiteboard-react-toolbar__button {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n border: 0;\n border-radius: 0.65rem;\n margin-top: 0.75rem;\n background: transparent;\n color: #f8fafc;\n transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, color 120ms ease;\n}\n.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 {\n margin-top: 0;\n margin-bottom: 0;\n margin-left: 0.75rem;\n}\n.room-platform-room .whiteboard-react-toolbar__button:hover:not(:disabled) {\n cursor: pointer;\n background: rgb(255 255 255 / 0.1);\n}\n.room-platform-room .whiteboard-react-toolbar__button[data-active='true'] {\n background: #0878f7;\n color: #fff;\n}\n.room-platform-room .whiteboard-react-toolbar__button[data-active='true']:hover:not(:disabled) {\n background: #0878f7;\n}\n.room-platform-room .whiteboard-react-toolbar__button[aria-label='Color'] .whiteboard-react-toolbar__icon {\n display: none;\n}\n.room-platform-room .whiteboard-react-toolbar__button[aria-label='Color'] .whiteboard-react-toolbar__button-swatch {\n position: static;\n width: 1.5rem;\n height: 1.5rem;\n border: 0;\n}\n.room-platform-room .whiteboard-react-toolbar__button[aria-label='Close whiteboard tools'] {\n margin-bottom: 0.75rem;\n background: #ef1111;\n color: #fff;\n}\n.room-platform-room .whiteboard-react-toolbar__button[aria-label='Close whiteboard tools']:hover:not(:disabled) {\n background: #dc0d0d;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] span:last-child .whiteboard-react-toolbar__button {\n margin-bottom: 0;\n margin-right: 0.75rem;\n}\n.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 {\n cursor: not-allowed;\n opacity: 0.46;\n}\n.room-platform-room .whiteboard-react-toolbar__button-swatch {\n position: absolute;\n right: 0.34rem;\n bottom: 0.34rem;\n width: 0.6rem;\n height: 0.6rem;\n border: 1px solid rgb(255 255 255 / 0.8);\n border-radius: 999px;\n background: var(--whiteboard-color);\n box-shadow: 0 0 0 1px rgb(15 23 42 / 0.12);\n}\n.room-platform-room .whiteboard-react-toolbar__popover {\n z-index: 62;\n padding: 0.65rem;\n border: 0.15rem solid rgb(226 232 240 / 0.72);\n border-radius: 0.5rem;\n background: #292a2c;\n color: #f8fafc;\n box-shadow: 0 12px 28px rgb(15 23 42 / 0.3);\n}\n.room-platform-room .whiteboard-react-draw-popover {\n max-width: 15.5rem;\n}\n.room-platform-room .whiteboard-react-color-popover {\n width: 12.5rem;\n}\n.room-platform-room .whiteboard-react-toolbar__popover-section {\n display: flex;\n flex-direction: column;\n gap: 0.35rem;\n}\n.room-platform-room .whiteboard-react-toolbar__popover-section + .whiteboard-react-toolbar__popover-section {\n margin-top: 0.55rem;\n}\n.room-platform-room .whiteboard-react-toolbar__popover-label {\n margin: 0;\n font-size: 0.75rem;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: rgb(226 232 240 / 0.82);\n}\n.room-platform-room .whiteboard-react-toolbar__option-grid, .room-platform-room .whiteboard-react-toolbar__width-grid {\n display: grid;\n gap: 0.35rem;\n}\n.room-platform-room .whiteboard-react-toolbar__option-grid {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.room-platform-room .whiteboard-react-toolbar__option-grid--shapes {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.room-platform-room .whiteboard-react-toolbar__option-chip, .room-platform-room .whiteboard-react-toolbar__width-chip {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2.25rem;\n height: 2.25rem;\n border: 1px solid transparent;\n border-radius: 0.65rem;\n background: transparent;\n color: #f8fafc;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1;\n padding: 0;\n cursor: pointer;\n}\n.room-platform-room .whiteboard-react-toolbar__option-chip[data-active='true'], .room-platform-room .whiteboard-react-toolbar__width-chip[data-active='true'] {\n border-color: transparent;\n background: #0878f7;\n color: #fff;\n}\n.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']) {\n color: #fff;\n}\n.room-platform-room .whiteboard-react-toolbar__width-grid {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.room-platform-room .whiteboard-react-toolbar__option-icon {\n flex: none;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample {\n display: inline-flex;\n width: 1.35rem;\n height: 1.35rem;\n border-radius: 999px;\n background: currentColor;\n flex: none;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample[data-width='xs'] {\n width: 0.3rem;\n height: 0.3rem;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample[data-width='sm'] {\n width: 0.45rem;\n height: 0.45rem;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample[data-width='md'] {\n width: 0.65rem;\n height: 0.65rem;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample[data-width='lg'] {\n width: 0.9rem;\n height: 0.9rem;\n}\n.room-platform-room .whiteboard-react-color-popover__grid {\n display: grid;\n grid-template-columns: repeat(5, minmax(0, 1fr));\n gap: 0.5rem;\n}\n.room-platform-room .whiteboard-react-color-popover__swatch {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: 1px solid rgb(148 163 184 / 0.28);\n border-radius: 999px;\n background: rgb(255 255 255 / 0.9);\n cursor: pointer;\n}\n.room-platform-room .whiteboard-react-color-popover__swatch-fill {\n width: 1.35rem;\n height: 1.35rem;\n border-radius: 999px;\n background: var(--whiteboard-color);\n box-shadow: inset 0 0 0 1px rgb(15 23 42 / 0.08);\n}\n.room-platform-room .whiteboard-react-color-popover__swatch[data-active='true'] {\n border-color: rgb(15 118 110 / 0.45);\n box-shadow: 0 0 0 4px rgb(15 118 110 / 0.12);\n}\n.room-platform-room .whiteboard-react-color-popover__swatch[data-light='true'] .whiteboard-react-color-popover__swatch-fill {\n box-shadow: inset 0 0 0 1px rgb(15 23 42 / 0.12), 0 0 0 1px rgb(226 232 240 / 0.8);\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-content {\n syntax: \"*\";\n initial-value: \"\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity,1);\n 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));\n filter: blur(var(--tw-enter-blur,0));\n }\n}\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity,1);\n 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));\n filter: blur(var(--tw-exit-blur,0));\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n .room-platform-room *, .room-platform-room ::before, .room-platform-room ::after, .room-platform-room ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: \"\";\n --tw-animation-delay: 0s;\n --tw-animation-direction: normal;\n --tw-animation-duration: initial;\n --tw-animation-fill-mode: none;\n --tw-animation-iteration-count: 1;\n --tw-enter-blur: 0;\n --tw-enter-opacity: 1;\n --tw-enter-rotate: 0;\n --tw-enter-scale: 1;\n --tw-enter-translate-x: 0;\n --tw-enter-translate-y: 0;\n --tw-exit-blur: 0;\n --tw-exit-opacity: 1;\n --tw-exit-rotate: 0;\n --tw-exit-scale: 1;\n --tw-exit-translate-x: 0;\n --tw-exit-translate-y: 0;\n }\n }\n}\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}\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}\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 --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: auto;\n min-height: 0;\n overflow: visible;\n width: auto;\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-workspace-overlay {\n align-items: center;\n display: flex;\n height: 100%;\n justify-content: center;\n overflow: auto;\n width: 100%;\n}\n\n.room-platform-workspace-alongside {\n min-width: 18rem;\n width: 35%;\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.5rem;\n justify-content: space-between;\n padding: 0.625rem;\n}\n\n.room-platform-participant-name,\n.room-platform-participant-subtitle {\n margin: 0;\n}\n\n.room-platform-participant-name {\n font-size: 0.875rem;\n font-weight: 700;\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 .room-platform-workspace-alongside {\n min-width: 0;\n width: 100%;\n }\n}\n";
|
|
26433
|
+
|
|
26434
|
+
function _array_like_to_array$4(arr, len) {
|
|
26435
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
26436
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
26437
|
+
return arr2;
|
|
26438
|
+
}
|
|
26439
|
+
function _array_with_holes$4(arr) {
|
|
26440
|
+
if (Array.isArray(arr)) return arr;
|
|
26441
|
+
}
|
|
26442
|
+
function _iterable_to_array_limit$4(arr, i) {
|
|
26443
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
26444
|
+
if (_i == null) return;
|
|
26445
|
+
var _arr = [];
|
|
26446
|
+
var _n = true;
|
|
26447
|
+
var _d = false;
|
|
26448
|
+
var _s, _e;
|
|
26449
|
+
try {
|
|
26450
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
26451
|
+
_arr.push(_s.value);
|
|
26452
|
+
if (i && _arr.length === i) break;
|
|
26453
|
+
}
|
|
26454
|
+
} catch (err) {
|
|
26455
|
+
_d = true;
|
|
26456
|
+
_e = err;
|
|
26457
|
+
} finally{
|
|
26458
|
+
try {
|
|
26459
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
26460
|
+
} finally{
|
|
26461
|
+
if (_d) throw _e;
|
|
26462
|
+
}
|
|
26463
|
+
}
|
|
26464
|
+
return _arr;
|
|
26465
|
+
}
|
|
26466
|
+
function _non_iterable_rest$4() {
|
|
26467
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
26468
|
+
}
|
|
26469
|
+
function _sliced_to_array$4(arr, i) {
|
|
26470
|
+
return _array_with_holes$4(arr) || _iterable_to_array_limit$4(arr, i) || _unsupported_iterable_to_array$4(arr, i) || _non_iterable_rest$4();
|
|
26471
|
+
}
|
|
26472
|
+
function _unsupported_iterable_to_array$4(o, minLen) {
|
|
26473
|
+
if (!o) return;
|
|
26474
|
+
if (typeof o === "string") return _array_like_to_array$4(o, minLen);
|
|
26475
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
26476
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
26477
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
26478
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$4(o, minLen);
|
|
26479
|
+
}
|
|
26480
|
+
function RoomPlatformShadowHost(param) {
|
|
26481
|
+
var children = param.children;
|
|
26482
|
+
var hostRef = useRef(null);
|
|
26483
|
+
var _useState = _sliced_to_array$4(useState(null), 2), surface = _useState[0], setSurface = _useState[1];
|
|
26484
|
+
useLayoutEffect(function() {
|
|
26485
|
+
var _host_shadowRoot;
|
|
26486
|
+
var host = hostRef.current;
|
|
26487
|
+
if (!host) return;
|
|
26488
|
+
var shadowRoot = (_host_shadowRoot = host.shadowRoot) !== null && _host_shadowRoot !== void 0 ? _host_shadowRoot : host.attachShadow({
|
|
26489
|
+
mode: 'open'
|
|
26490
|
+
});
|
|
26491
|
+
var style = host.ownerDocument.createElement('style');
|
|
26492
|
+
var appRoot = host.ownerDocument.createElement('div');
|
|
26493
|
+
var portalRoot = host.ownerDocument.createElement('div');
|
|
26494
|
+
style.setAttribute('data-room-platform-style', '');
|
|
26495
|
+
style.textContent = roomPlatformGeneratedStyles;
|
|
26496
|
+
appRoot.setAttribute('data-room-platform-app-root', '');
|
|
26497
|
+
portalRoot.className = 'room-platform-room room-platform-portal-root';
|
|
26498
|
+
portalRoot.setAttribute('data-room-platform-portal-root', '');
|
|
26499
|
+
shadowRoot.append(style, appRoot, portalRoot);
|
|
26500
|
+
setSurface({
|
|
26501
|
+
appRoot: appRoot,
|
|
26502
|
+
portalRoot: portalRoot
|
|
26503
|
+
});
|
|
26504
|
+
return function() {
|
|
26505
|
+
setSurface(null);
|
|
26506
|
+
style.remove();
|
|
26507
|
+
appRoot.remove();
|
|
26508
|
+
portalRoot.remove();
|
|
26509
|
+
};
|
|
26510
|
+
}, []);
|
|
26511
|
+
return /*#__PURE__*/ jsx("div", {
|
|
26512
|
+
ref: hostRef,
|
|
26513
|
+
"data-room-platform-host": true,
|
|
26514
|
+
className: "room-platform-host",
|
|
26515
|
+
children: surface ? /*#__PURE__*/ createPortal(/*#__PURE__*/ jsx(PortalContainerProvider, {
|
|
26516
|
+
container: surface.portalRoot,
|
|
26517
|
+
children: children
|
|
26518
|
+
}), surface.appRoot) : null
|
|
26519
|
+
});
|
|
26520
|
+
}
|
|
26521
|
+
|
|
26343
26522
|
function _array_like_to_array$3(arr, len) {
|
|
26344
26523
|
if (len == null || len > arr.length) len = arr.length;
|
|
26345
26524
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -26703,6 +26882,7 @@ function RoomPlatformSpeakQueue(param) {
|
|
|
26703
26882
|
var canShowApprove = canApproveSpeak && onApproveSpeakRequest;
|
|
26704
26883
|
var canShowReject = canRejectSpeak && onRejectSpeakRequest;
|
|
26705
26884
|
var _useState = _sliced_to_array$2(useState(null), 2), pendingSpeakAction = _useState[0], setPendingSpeakAction = _useState[1];
|
|
26885
|
+
var roomPlatformToast = useRoomPlatformToast();
|
|
26706
26886
|
var runSpeakAction = function(participantIdentity, action) {
|
|
26707
26887
|
return _async_to_generator$1(function() {
|
|
26708
26888
|
var handler;
|
|
@@ -26737,7 +26917,7 @@ function RoomPlatformSpeakQueue(param) {
|
|
|
26737
26917
|
];
|
|
26738
26918
|
case 3:
|
|
26739
26919
|
_state.sent();
|
|
26740
|
-
|
|
26920
|
+
roomPlatformToast.error(action === 'approve' ? 'Không duyệt được học sinh phát biểu.' : 'Không từ chối được yêu cầu phát biểu.');
|
|
26741
26921
|
return [
|
|
26742
26922
|
3,
|
|
26743
26923
|
5
|
|
@@ -27554,10 +27734,13 @@ var RoomPlatformWorkspaceContent = function(param) {
|
|
|
27554
27734
|
var participantTab = extensions === null || extensions === void 0 ? void 0 : extensions.participantTab;
|
|
27555
27735
|
var monitor = extensions === null || extensions === void 0 ? void 0 : extensions.monitor;
|
|
27556
27736
|
var canUseMonitor = hasCapability('monitor:manage');
|
|
27737
|
+
var roomPlatformToast = useRoomPlatformToast();
|
|
27557
27738
|
var handleMonitorStartError = useCallback(function() {
|
|
27558
27739
|
setStageView('teaching');
|
|
27559
|
-
|
|
27560
|
-
}, [
|
|
27740
|
+
roomPlatformToast.error('Không thể bật Monitor. Vui lòng thử lại.');
|
|
27741
|
+
}, [
|
|
27742
|
+
roomPlatformToast
|
|
27743
|
+
]);
|
|
27561
27744
|
useEffect(function() {
|
|
27562
27745
|
if (!canUseMonitor) setStageView('teaching');
|
|
27563
27746
|
}, [
|
|
@@ -27913,6 +28096,7 @@ function RoomPlatformPrivateRoomRuntime(param) {
|
|
|
27913
28096
|
privateRoomId: privateRoomState.privateRoom.id
|
|
27914
28097
|
}));
|
|
27915
28098
|
var pending = acceptPending || declinePending || privateRoomState.isAcceptingPrivateRoom;
|
|
28099
|
+
var roomPlatformToast = useRoomPlatformToast();
|
|
27916
28100
|
var whiteboard = integrations === null || integrations === void 0 ? void 0 : integrations.whiteboard;
|
|
27917
28101
|
var whiteboardAuth = (whiteboard === null || whiteboard === void 0 ? void 0 : whiteboard.joinState.available) ? whiteboard.joinState.auth : undefined;
|
|
27918
28102
|
return /*#__PURE__*/ jsxs(Fragment, {
|
|
@@ -27945,7 +28129,7 @@ function RoomPlatformPrivateRoomRuntime(param) {
|
|
|
27945
28129
|
disabled: pending,
|
|
27946
28130
|
onClick: function() {
|
|
27947
28131
|
return void privateRoomState.declinePrivateRoom().catch(function() {
|
|
27948
|
-
|
|
28132
|
+
roomPlatformToast.error('Không thể từ chối phòng riêng. Vui lòng thử lại.');
|
|
27949
28133
|
});
|
|
27950
28134
|
},
|
|
27951
28135
|
children: [
|
|
@@ -27984,7 +28168,7 @@ function RoomPlatformPrivateRoomRuntime(param) {
|
|
|
27984
28168
|
];
|
|
27985
28169
|
case 3:
|
|
27986
28170
|
_state.sent();
|
|
27987
|
-
|
|
28171
|
+
roomPlatformToast.error('Không thể vào phòng riêng. Vui lòng thử lại.');
|
|
27988
28172
|
return [
|
|
27989
28173
|
3,
|
|
27990
28174
|
5
|
|
@@ -28054,7 +28238,7 @@ function RoomPlatformPrivateRoomRuntime(param) {
|
|
|
28054
28238
|
]
|
|
28055
28239
|
});
|
|
28056
28240
|
}
|
|
28057
|
-
function
|
|
28241
|
+
function RoomPlatformRuntime(_0) {
|
|
28058
28242
|
var children = _0.children, extensions = _0.extensions, integrations = _0.integrations, isPracticeMode = _0.isPracticeMode, onExit = _0.onExit, _0_sizing = _0.sizing, sizing = _0_sizing === void 0 ? 'viewport' : _0_sizing, providerProps = _object_without_properties(_0, [
|
|
28059
28243
|
"children",
|
|
28060
28244
|
"extensions",
|
|
@@ -28083,6 +28267,13 @@ function RoomPlatformRoom(_0) {
|
|
|
28083
28267
|
]
|
|
28084
28268
|
}));
|
|
28085
28269
|
}
|
|
28270
|
+
function RoomPlatformRoom(props) {
|
|
28271
|
+
return /*#__PURE__*/ jsx(RoomPlatformShadowHost, {
|
|
28272
|
+
children: /*#__PURE__*/ jsx(RoomPlatformToastProvider, {
|
|
28273
|
+
children: /*#__PURE__*/ jsx(RoomPlatformRuntime, _object_spread({}, props))
|
|
28274
|
+
})
|
|
28275
|
+
});
|
|
28276
|
+
}
|
|
28086
28277
|
|
|
28087
28278
|
function RoomPlatformVideoTracks(param) {
|
|
28088
28279
|
var _param_status = param.status, status = _param_status === void 0 ? 'connected' : _param_status;
|