diff --git a/package.json b/package.json
index 094d3524..5a06c791 100644
--- a/package.json
+++ b/package.json
@@ -17,8 +17,8 @@
"dependencies": {
"@bufbuild/protobuf": "2.2.0",
"@excalidraw/excalidraw": "0.17.6",
- "@headlessui/react": "1.7.19",
- "@nats-io/jetstream": "3.0.0-10",
+ "@headlessui/react": "2.1.10",
+ "@nats-io/jetstream": "3.0.0-11",
"@nats-io/nats-core": "3.0.0-27",
"@reduxjs/toolkit": "2.3.0",
"@tensorflow-models/body-pix": "2.2.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6c101d9c..4991a0cd 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -15,11 +15,11 @@ importers:
specifier: 0.17.6
version: 0.17.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@headlessui/react':
- specifier: 1.7.19
- version: 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: 2.1.10
+ version: 2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@nats-io/jetstream':
- specifier: 3.0.0-10
- version: 3.0.0-10
+ specifier: 3.0.0-11
+ version: 3.0.0-11
'@nats-io/nats-core':
specifier: 3.0.0-27
version: 3.0.0-27
@@ -328,12 +328,33 @@ packages:
react: ^17.0.2 || ^18.2.0
react-dom: ^17.0.2 || ^18.2.0
- '@headlessui/react@1.7.19':
- resolution: {integrity: sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==}
+ '@floating-ui/core@1.6.8':
+ resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
+
+ '@floating-ui/dom@1.6.11':
+ resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==}
+
+ '@floating-ui/react-dom@2.1.2':
+ resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/react@0.26.25':
+ resolution: {integrity: sha512-hZOmgN0NTOzOuZxI1oIrDu3Gcl8WViIkvPMpB4xdd4QD6xAMtwgwr3VPoiyH/bLtRcS1cDnhxLSD1NsMJmwh/A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.8':
+ resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
+
+ '@headlessui/react@2.1.10':
+ resolution: {integrity: sha512-6mLa2fjMDAFQi+/R10B+zU3edsUk/MDtENB2zHho0lqKU1uzhAfJLUduWds4nCo8wbl3vULtC5rJfZAQ1yqIng==}
engines: {node: '>=10'}
peerDependencies:
- react: ^16 || ^17 || ^18
- react-dom: ^16 || ^17 || ^18
+ react: ^18
+ react-dom: ^18
'@humanfs/core@0.19.0':
resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==}
@@ -408,8 +429,8 @@ packages:
'@livekit/protocol@1.24.0':
resolution: {integrity: sha512-9dCsqnkMn7lvbI4NGh18zhLDsrXyUcpS++TEFgEk5Xv1WM3R2kT3EzqgL1P/mr3jaabM6rJ8wZA/KJLuQNpF5w==}
- '@nats-io/jetstream@3.0.0-10':
- resolution: {integrity: sha512-FOdwBximucQszBAsSAckqhXxh0WZozKbRTMzODCudcHpOEv0jUwnoqFLG/8r607pJDX1gdiYADF5hpeV3gvh7A==}
+ '@nats-io/jetstream@3.0.0-11':
+ resolution: {integrity: sha512-puevQAeiETf7QhaQtGKhLKnhVW9eC3D2Ao/qPMezRfvzDlH14JmNOyWAWPS5haIKxKbK1oCVKqnte3aYsaqbUw==}
'@nats-io/nats-core@3.0.0-27':
resolution: {integrity: sha512-xJvUWoRvUTG/3K4Ppf5KXTZezicbvd2o/psMyI7YPtIxKZsZALXL/bLoNb7FB/Hw4jECioZE7LZCSK41npFD2A==}
@@ -554,6 +575,27 @@ packages:
engines: {node: '>=18'}
hasBin: true
+ '@react-aria/focus@3.18.4':
+ resolution: {integrity: sha512-91J35077w9UNaMK1cpMUEFRkNNz0uZjnSwiyBCFuRdaVuivO53wNC9XtWSDNDdcO5cGy87vfJRVAiyoCn/mjqA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
+ '@react-aria/interactions@3.22.4':
+ resolution: {integrity: sha512-E0vsgtpItmknq/MJELqYJwib+YN18Qag8nroqwjk1qOnBa9ROIkUhWJerLi1qs5diXq9LHKehZDXRlwPvdEFww==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
+ '@react-aria/ssr@3.9.6':
+ resolution: {integrity: sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==}
+ engines: {node: '>= 12'}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
+ '@react-aria/utils@3.25.3':
+ resolution: {integrity: sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
'@react-dnd/asap@5.0.2':
resolution: {integrity: sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==}
@@ -563,6 +605,16 @@ packages:
'@react-dnd/shallowequal@4.0.2':
resolution: {integrity: sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==}
+ '@react-stately/utils@3.10.4':
+ resolution: {integrity: sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
+ '@react-types/shared@3.25.0':
+ resolution: {integrity: sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
'@reduxjs/toolkit@2.3.0':
resolution: {integrity: sha512-WC7Yd6cNGfHx8zf+iu+Q1UPTfEcXhQ+ATi7CV1hlrSAaQBdlPzg7Ww/wJHNQem7qG9rxmWoFCDCPubSvFObGzA==}
peerDependencies:
@@ -602,6 +654,9 @@ packages:
peerDependencies:
size-limit: 11.1.6
+ '@swc/helpers@0.5.13':
+ resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==}
+
'@tanstack/react-virtual@3.10.8':
resolution: {integrity: sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA==}
peerDependencies:
@@ -1260,9 +1315,6 @@ packages:
resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
engines: {node: '>=18'}
- client-only@0.0.1:
- resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
-
cliui@7.0.4:
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
@@ -3680,6 +3732,9 @@ packages:
resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
engines: {node: ^14.18.0 || >=16.0.0}
+ tabbable@6.2.0:
+ resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+
tailwindcss@3.4.14:
resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==}
engines: {node: '>=14.0.0'}
@@ -4159,10 +4214,37 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@headlessui/react@1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@floating-ui/core@1.6.8':
+ dependencies:
+ '@floating-ui/utils': 0.2.8
+
+ '@floating-ui/dom@1.6.11':
+ dependencies:
+ '@floating-ui/core': 1.6.8
+ '@floating-ui/utils': 0.2.8
+
+ '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/dom': 1.6.11
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@floating-ui/react@0.26.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@floating-ui/utils': 0.2.8
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tabbable: 6.2.0
+
+ '@floating-ui/utils@0.2.8': {}
+
+ '@headlessui/react@2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react': 0.26.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@react-aria/focus': 3.18.4(react@18.3.1)
+ '@react-aria/interactions': 3.22.4(react@18.3.1)
'@tanstack/react-virtual': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- client-only: 0.0.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@@ -4243,7 +4325,7 @@ snapshots:
dependencies:
'@bufbuild/protobuf': 1.10.0
- '@nats-io/jetstream@3.0.0-10':
+ '@nats-io/jetstream@3.0.0-11':
dependencies:
'@nats-io/nats-core': 3.0.0-27
@@ -4371,12 +4453,52 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@react-aria/focus@3.18.4(react@18.3.1)':
+ dependencies:
+ '@react-aria/interactions': 3.22.4(react@18.3.1)
+ '@react-aria/utils': 3.25.3(react@18.3.1)
+ '@react-types/shared': 3.25.0(react@18.3.1)
+ '@swc/helpers': 0.5.13
+ clsx: 2.1.1
+ react: 18.3.1
+
+ '@react-aria/interactions@3.22.4(react@18.3.1)':
+ dependencies:
+ '@react-aria/ssr': 3.9.6(react@18.3.1)
+ '@react-aria/utils': 3.25.3(react@18.3.1)
+ '@react-types/shared': 3.25.0(react@18.3.1)
+ '@swc/helpers': 0.5.13
+ react: 18.3.1
+
+ '@react-aria/ssr@3.9.6(react@18.3.1)':
+ dependencies:
+ '@swc/helpers': 0.5.13
+ react: 18.3.1
+
+ '@react-aria/utils@3.25.3(react@18.3.1)':
+ dependencies:
+ '@react-aria/ssr': 3.9.6(react@18.3.1)
+ '@react-stately/utils': 3.10.4(react@18.3.1)
+ '@react-types/shared': 3.25.0(react@18.3.1)
+ '@swc/helpers': 0.5.13
+ clsx: 2.1.1
+ react: 18.3.1
+
'@react-dnd/asap@5.0.2': {}
'@react-dnd/invariant@4.0.2': {}
'@react-dnd/shallowequal@4.0.2': {}
+ '@react-stately/utils@3.10.4(react@18.3.1)':
+ dependencies:
+ '@swc/helpers': 0.5.13
+ react: 18.3.1
+
+ '@react-types/shared@3.25.0(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
'@reduxjs/toolkit@2.3.0(react-redux@9.1.2(@types/react@18.3.11)(react@18.3.1)(redux@5.0.1))(react@18.3.1)':
dependencies:
immer: 10.1.1
@@ -4420,6 +4542,10 @@ snapshots:
- supports-color
- utf-8-validate
+ '@swc/helpers@0.5.13':
+ dependencies:
+ tslib: 2.7.0
+
'@tanstack/react-virtual@3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@tanstack/virtual-core': 3.10.8
@@ -5193,8 +5319,6 @@ snapshots:
slice-ansi: 5.0.0
string-width: 7.2.0
- client-only@0.0.1: {}
-
cliui@7.0.4:
dependencies:
string-width: 4.2.3
@@ -7631,6 +7755,8 @@ snapshots:
'@pkgr/core': 0.1.1
tslib: 2.7.0
+ tabbable@6.2.0: {}
+
tailwindcss@3.4.14:
dependencies:
'@alloc/quick-lru': 5.2.0
diff --git a/src/components/breakout-room/breakoutRoomInvitation.tsx b/src/components/breakout-room/breakoutRoomInvitation.tsx
index 116dfc8e..6e3d63b6 100644
--- a/src/components/breakout-room/breakoutRoomInvitation.tsx
+++ b/src/components/breakout-room/breakoutRoomInvitation.tsx
@@ -2,7 +2,12 @@ import React, { Fragment, useCallback, useEffect, useState } from 'react';
import { createSelector } from '@reduxjs/toolkit';
import { useTranslation } from 'react-i18next';
import { LocalAudioTrack, Track } from 'livekit-client';
-import { Dialog, Transition } from '@headlessui/react';
+import {
+ Dialog,
+ DialogTitle,
+ Transition,
+ TransitionChild,
+} from '@headlessui/react';
import { toast } from 'react-toastify';
import copy from 'copy-text-to-clipboard';
import { JoinBreakoutRoomReqSchema } from 'plugnmeet-protocol-js';
@@ -137,7 +142,7 @@ const BreakoutRoomInvitation = () => {
static={false}
>
-
{
leaveFrom="opacity-100"
leaveTo="opacity-0"
>
-
-
+
+
{
>
-
{
-
{t('breakout-room.invitation-title')}
-
+
@@ -216,7 +221,7 @@ const BreakoutRoomInvitation = () => {
-
+
diff --git a/src/components/breakout-room/form/index.tsx b/src/components/breakout-room/form/index.tsx
index c41097fa..8ec950c8 100644
--- a/src/components/breakout-room/form/index.tsx
+++ b/src/components/breakout-room/form/index.tsx
@@ -152,7 +152,7 @@ const FromElems = () => {
store.getState().session.currentRoom.metadata?.roomFeatures
?.breakoutRoomFeatures?.allowedNumberRooms ?? 6;
- const options: Array = [];
+ const options: Array = [];
for (let i = 0; i < max; i++) {
options.push(