@100mslive/roomkit-react 0.3.10-alpha.1 → 0.3.10-alpha.11

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -62,7 +62,7 @@ import {
62
62
  theme,
63
63
  useBorderAudioLevel,
64
64
  useTheme
65
- } from "./chunk-IOHV3H2B.js";
65
+ } from "./chunk-PASWCMNQ.js";
66
66
  export {
67
67
  Accordion,
68
68
  AudioLevel,
@@ -3508,7 +3508,7 @@
3508
3508
  "format": "esm"
3509
3509
  },
3510
3510
  "src/Prebuilt/components/RoleChangeModal.tsx": {
3511
- "bytes": 5344,
3511
+ "bytes": 5429,
3512
3512
  "imports": [
3513
3513
  {
3514
3514
  "path": "react",
@@ -4533,7 +4533,7 @@
4533
4533
  "format": "cjs"
4534
4534
  },
4535
4535
  "../hms-video-store/dist/index.js": {
4536
- "bytes": 333076,
4536
+ "bytes": 333077,
4537
4537
  "imports": [
4538
4538
  {
4539
4539
  "path": "../../node_modules/reselect/es/index.js",
@@ -5982,7 +5982,7 @@
5982
5982
  "format": "esm"
5983
5983
  },
5984
5984
  "src/Prebuilt/components/Footer/ParticipantList.tsx": {
5985
- "bytes": 13879,
5985
+ "bytes": 13982,
5986
5986
  "imports": [
5987
5987
  {
5988
5988
  "path": "react",
@@ -8677,7 +8677,7 @@
8677
8677
  "format": "esm"
8678
8678
  },
8679
8679
  "src/Prebuilt/components/TileMenu/TileMenuContent.tsx": {
8680
- "bytes": 12133,
8680
+ "bytes": 12236,
8681
8681
  "imports": [
8682
8682
  {
8683
8683
  "path": "react",
@@ -10286,7 +10286,7 @@
10286
10286
  ],
10287
10287
  "format": "esm"
10288
10288
  },
10289
- "../../../../../../../tmp/tmp-2868-rGJbGJHWrrl6/18f32e818a93/tldraw.css": {
10289
+ "../../../../../../../tmp/tmp-2783-TYcql5z9Ggrw/18f71d8acf83/tldraw.css": {
10290
10290
  "bytes": 80111,
10291
10291
  "imports": [
10292
10292
  {
@@ -10336,8 +10336,8 @@
10336
10336
  }
10337
10337
  ]
10338
10338
  },
10339
- "../../../../../../../tmp/tmp-2868-rGJbGJHWrrl6/18f32e818971/index.css": {
10340
- "bytes": 264,
10339
+ "../../../../../../../tmp/tmp-2783-TYcql5z9Ggrw/18f71d8ac6b2/index.css": {
10340
+ "bytes": 597,
10341
10341
  "imports": [
10342
10342
  {
10343
10343
  "path": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap",
@@ -10345,7 +10345,7 @@
10345
10345
  "external": true
10346
10346
  },
10347
10347
  {
10348
- "path": "../../../../../../../tmp/tmp-2868-rGJbGJHWrrl6/18f32e818a93/tldraw.css",
10348
+ "path": "../../../../../../../tmp/tmp-2783-TYcql5z9Ggrw/18f71d8acf83/tldraw.css",
10349
10349
  "kind": "import-rule",
10350
10350
  "original": "@tldraw/tldraw/tldraw.css"
10351
10351
  }
@@ -10420,7 +10420,7 @@
10420
10420
  "original": "../../common/constants"
10421
10421
  },
10422
10422
  {
10423
- "path": "../../../../../../../tmp/tmp-2868-rGJbGJHWrrl6/18f32e818971/index.css",
10423
+ "path": "../../../../../../../tmp/tmp-2783-TYcql5z9Ggrw/18f71d8ac6b2/index.css",
10424
10424
  "kind": "import-statement",
10425
10425
  "original": "@100mslive/hms-whiteboard/index.css"
10426
10426
  },
@@ -13514,7 +13514,7 @@
13514
13514
  "imports": [],
13515
13515
  "exports": [],
13516
13516
  "inputs": {},
13517
- "bytes": 3327602
13517
+ "bytes": 3328413
13518
13518
  },
13519
13519
  "dist/index.cjs.js": {
13520
13520
  "imports": [
@@ -16529,7 +16529,7 @@
16529
16529
  "cssBundle": "dist/index.cjs.css",
16530
16530
  "inputs": {
16531
16531
  "<define:process.env>": {
16532
- "bytesInOutput": 17867
16532
+ "bytesInOutput": 17890
16533
16533
  },
16534
16534
  "src/Theme/base.config.ts": {
16535
16535
  "bytesInOutput": 6078
@@ -16928,7 +16928,7 @@
16928
16928
  "bytesInOutput": 369
16929
16929
  },
16930
16930
  "src/Prebuilt/components/RoleChangeModal.tsx": {
16931
- "bytesInOutput": 6829
16931
+ "bytesInOutput": 6933
16932
16932
  },
16933
16933
  "src/Prebuilt/primitives/DialogContent.jsx": {
16934
16934
  "bytesInOutput": 8704
@@ -17024,7 +17024,7 @@
17024
17024
  "bytesInOutput": 615
17025
17025
  },
17026
17026
  "../hms-video-store/dist/index.js": {
17027
- "bytesInOutput": 53955
17027
+ "bytesInOutput": 53956
17028
17028
  },
17029
17029
  "src/Prebuilt/components/hooks/usePlaylistMusic.js": {
17030
17030
  "bytesInOutput": 1307
@@ -17123,7 +17123,7 @@
17123
17123
  "bytesInOutput": 2005
17124
17124
  },
17125
17125
  "src/Prebuilt/components/Footer/ParticipantList.tsx": {
17126
- "bytesInOutput": 15785
17126
+ "bytesInOutput": 15907
17127
17127
  },
17128
17128
  "src/Prebuilt/components/Footer/PollsToggle.tsx": {
17129
17129
  "bytesInOutput": 1521
@@ -17291,7 +17291,7 @@
17291
17291
  "bytesInOutput": 266
17292
17292
  },
17293
17293
  "src/Prebuilt/components/TileMenu/TileMenuContent.tsx": {
17294
- "bytesInOutput": 14192
17294
+ "bytesInOutput": 14314
17295
17295
  },
17296
17296
  "src/Prebuilt/components/TileMenu/TileMenu.tsx": {
17297
17297
  "bytesInOutput": 5672
@@ -17380,7 +17380,7 @@
17380
17380
  "src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx": {
17381
17381
  "bytesInOutput": 3200
17382
17382
  },
17383
- "../../../../../../../tmp/tmp-2868-rGJbGJHWrrl6/18f32e818971/index.css": {
17383
+ "../../../../../../../tmp/tmp-2783-TYcql5z9Ggrw/18f71d8ac6b2/index.css": {
17384
17384
  "bytesInOutput": 116
17385
17385
  },
17386
17386
  "src/Prebuilt/components/VideoLayouts/WhiteboardLayout.tsx": {
@@ -17597,13 +17597,13 @@
17597
17597
  "bytesInOutput": 2980
17598
17598
  }
17599
17599
  },
17600
- "bytes": 1552099
17600
+ "bytes": 1552471
17601
17601
  },
17602
17602
  "dist/index.cjs.css.map": {
17603
17603
  "imports": [],
17604
17604
  "exports": [],
17605
17605
  "inputs": {},
17606
- "bytes": 121900
17606
+ "bytes": 122402
17607
17607
  },
17608
17608
  "dist/index.cjs.css": {
17609
17609
  "imports": [
@@ -17659,14 +17659,14 @@
17659
17659
  }
17660
17660
  ],
17661
17661
  "inputs": {
17662
- "../../../../../../../tmp/tmp-2868-rGJbGJHWrrl6/18f32e818a93/tldraw.css": {
17662
+ "../../../../../../../tmp/tmp-2783-TYcql5z9Ggrw/18f71d8acf83/tldraw.css": {
17663
17663
  "bytesInOutput": 75223
17664
17664
  },
17665
- "../../../../../../../tmp/tmp-2868-rGJbGJHWrrl6/18f32e818971/index.css": {
17666
- "bytesInOutput": 131
17665
+ "../../../../../../../tmp/tmp-2783-TYcql5z9Ggrw/18f71d8ac6b2/index.css": {
17666
+ "bytesInOutput": 401
17667
17667
  }
17668
17668
  },
17669
- "bytes": 75635
17669
+ "bytes": 75905
17670
17670
  }
17671
17671
  }
17672
17672
  }
@@ -3508,7 +3508,7 @@
3508
3508
  "format": "esm"
3509
3509
  },
3510
3510
  "src/Prebuilt/components/RoleChangeModal.tsx": {
3511
- "bytes": 5344,
3511
+ "bytes": 5429,
3512
3512
  "imports": [
3513
3513
  {
3514
3514
  "path": "react",
@@ -4533,7 +4533,7 @@
4533
4533
  "format": "cjs"
4534
4534
  },
4535
4535
  "../hms-video-store/dist/index.js": {
4536
- "bytes": 333076,
4536
+ "bytes": 333077,
4537
4537
  "imports": [
4538
4538
  {
4539
4539
  "path": "../../node_modules/reselect/es/index.js",
@@ -5982,7 +5982,7 @@
5982
5982
  "format": "esm"
5983
5983
  },
5984
5984
  "src/Prebuilt/components/Footer/ParticipantList.tsx": {
5985
- "bytes": 13879,
5985
+ "bytes": 13982,
5986
5986
  "imports": [
5987
5987
  {
5988
5988
  "path": "react",
@@ -8677,7 +8677,7 @@
8677
8677
  "format": "esm"
8678
8678
  },
8679
8679
  "src/Prebuilt/components/TileMenu/TileMenuContent.tsx": {
8680
- "bytes": 12133,
8680
+ "bytes": 12236,
8681
8681
  "imports": [
8682
8682
  {
8683
8683
  "path": "react",
@@ -10286,7 +10286,7 @@
10286
10286
  ],
10287
10287
  "format": "esm"
10288
10288
  },
10289
- "../../../../../../../tmp/tmp-2868-6TSDHEibDpsa/18f32e818a72/tldraw.css": {
10289
+ "../../../../../../../tmp/tmp-2783-icMkNJUCXNIt/18f71d8ac6a1/tldraw.css": {
10290
10290
  "bytes": 80111,
10291
10291
  "imports": [
10292
10292
  {
@@ -10336,8 +10336,8 @@
10336
10336
  }
10337
10337
  ]
10338
10338
  },
10339
- "../../../../../../../tmp/tmp-2868-6TSDHEibDpsa/18f32e818290/index.css": {
10340
- "bytes": 264,
10339
+ "../../../../../../../tmp/tmp-2783-icMkNJUCXNIt/18f71d8abf60/index.css": {
10340
+ "bytes": 597,
10341
10341
  "imports": [
10342
10342
  {
10343
10343
  "path": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap",
@@ -10345,7 +10345,7 @@
10345
10345
  "external": true
10346
10346
  },
10347
10347
  {
10348
- "path": "../../../../../../../tmp/tmp-2868-6TSDHEibDpsa/18f32e818a72/tldraw.css",
10348
+ "path": "../../../../../../../tmp/tmp-2783-icMkNJUCXNIt/18f71d8ac6a1/tldraw.css",
10349
10349
  "kind": "import-rule",
10350
10350
  "original": "@tldraw/tldraw/tldraw.css"
10351
10351
  }
@@ -10420,7 +10420,7 @@
10420
10420
  "original": "../../common/constants"
10421
10421
  },
10422
10422
  {
10423
- "path": "../../../../../../../tmp/tmp-2868-6TSDHEibDpsa/18f32e818290/index.css",
10423
+ "path": "../../../../../../../tmp/tmp-2783-icMkNJUCXNIt/18f71d8abf60/index.css",
10424
10424
  "kind": "import-statement",
10425
10425
  "original": "@100mslive/hms-whiteboard/index.css"
10426
10426
  },
@@ -13519,7 +13519,7 @@
13519
13519
  "dist/index.js": {
13520
13520
  "imports": [
13521
13521
  {
13522
- "path": "dist/chunk-IOHV3H2B.js",
13522
+ "path": "dist/chunk-PASWCMNQ.js",
13523
13523
  "kind": "import-statement"
13524
13524
  }
13525
13525
  ],
@@ -13593,16 +13593,16 @@
13593
13593
  "inputs": {},
13594
13594
  "bytes": 1822
13595
13595
  },
13596
- "dist/HLSView-524T6OTY.js.map": {
13596
+ "dist/HLSView-FW6XZCIP.js.map": {
13597
13597
  "imports": [],
13598
13598
  "exports": [],
13599
13599
  "inputs": {},
13600
13600
  "bytes": 100337
13601
13601
  },
13602
- "dist/HLSView-524T6OTY.js": {
13602
+ "dist/HLSView-FW6XZCIP.js": {
13603
13603
  "imports": [
13604
13604
  {
13605
- "path": "dist/chunk-IOHV3H2B.js",
13605
+ "path": "dist/chunk-PASWCMNQ.js",
13606
13606
  "kind": "import-statement"
13607
13607
  },
13608
13608
  {
@@ -13780,7 +13780,7 @@
13780
13780
  "default"
13781
13781
  ],
13782
13782
  "entryPoint": "src/Prebuilt/layouts/HLSView.jsx",
13783
- "cssBundle": "dist/HLSView-VL3DXGRO.css",
13783
+ "cssBundle": "dist/HLSView-MDK3WEXE.css",
13784
13784
  "inputs": {
13785
13785
  "src/Prebuilt/layouts/HLSView.jsx": {
13786
13786
  "bytesInOutput": 26045
@@ -13839,13 +13839,13 @@
13839
13839
  },
13840
13840
  "bytes": 58752
13841
13841
  },
13842
- "dist/chunk-IOHV3H2B.js.map": {
13842
+ "dist/chunk-PASWCMNQ.js.map": {
13843
13843
  "imports": [],
13844
13844
  "exports": [],
13845
13845
  "inputs": {},
13846
- "bytes": 3222979
13846
+ "bytes": 3223594
13847
13847
  },
13848
- "dist/chunk-IOHV3H2B.js": {
13848
+ "dist/chunk-PASWCMNQ.js": {
13849
13849
  "imports": [
13850
13850
  {
13851
13851
  "path": "react",
@@ -16298,7 +16298,7 @@
16298
16298
  "external": true
16299
16299
  },
16300
16300
  {
16301
- "path": "dist/HLSView-524T6OTY.js",
16301
+ "path": "dist/HLSView-FW6XZCIP.js",
16302
16302
  "kind": "dynamic-import"
16303
16303
  },
16304
16304
  {
@@ -16775,7 +16775,7 @@
16775
16775
  ],
16776
16776
  "inputs": {
16777
16777
  "<define:process.env>": {
16778
- "bytesInOutput": 17867
16778
+ "bytesInOutput": 17890
16779
16779
  },
16780
16780
  "../../node_modules/lodash/lodash.js": {
16781
16781
  "bytesInOutput": 224301
@@ -17177,7 +17177,7 @@
17177
17177
  "bytesInOutput": 1870
17178
17178
  },
17179
17179
  "src/Prebuilt/components/RoleChangeModal.tsx": {
17180
- "bytesInOutput": 5403
17180
+ "bytesInOutput": 5499
17181
17181
  },
17182
17182
  "src/Prebuilt/components/Settings/StartRecording.jsx": {
17183
17183
  "bytesInOutput": 3537
@@ -17219,7 +17219,7 @@
17219
17219
  "bytesInOutput": 9078
17220
17220
  },
17221
17221
  "../hms-video-store/dist/index.js": {
17222
- "bytesInOutput": 49344
17222
+ "bytesInOutput": 49345
17223
17223
  },
17224
17224
  "../../node_modules/reselect/es/index.js": {
17225
17225
  "bytesInOutput": 2539
@@ -17321,7 +17321,7 @@
17321
17321
  "bytesInOutput": 1445
17322
17322
  },
17323
17323
  "src/Prebuilt/components/Footer/ParticipantList.tsx": {
17324
- "bytesInOutput": 12830
17324
+ "bytesInOutput": 12965
17325
17325
  },
17326
17326
  "src/Prebuilt/components/Connection/ConnectionIndicator.tsx": {
17327
17327
  "bytesInOutput": 3835
@@ -17522,7 +17522,7 @@
17522
17522
  "bytesInOutput": 4614
17523
17523
  },
17524
17524
  "src/Prebuilt/components/TileMenu/TileMenuContent.tsx": {
17525
- "bytesInOutput": 11826
17525
+ "bytesInOutput": 11961
17526
17526
  },
17527
17527
  "src/Prebuilt/components/TileMenu/utils.ts": {
17528
17528
  "bytesInOutput": 130
@@ -17608,7 +17608,7 @@
17608
17608
  "src/Prebuilt/components/VideoLayouts/WhiteboardLayout.tsx": {
17609
17609
  "bytesInOutput": 2656
17610
17610
  },
17611
- "../../../../../../../tmp/tmp-2868-6TSDHEibDpsa/18f32e818290/index.css": {
17611
+ "../../../../../../../tmp/tmp-2783-icMkNJUCXNIt/18f71d8abf60/index.css": {
17612
17612
  "bytesInOutput": 0
17613
17613
  },
17614
17614
  "src/Prebuilt/common/PeersSorter.ts": {
@@ -17750,13 +17750,13 @@
17750
17750
  "bytesInOutput": 651
17751
17751
  }
17752
17752
  },
17753
- "bytes": 1290113
17753
+ "bytes": 1290503
17754
17754
  },
17755
17755
  "dist/index.css.map": {
17756
17756
  "imports": [],
17757
17757
  "exports": [],
17758
17758
  "inputs": {},
17759
- "bytes": 121900
17759
+ "bytes": 122402
17760
17760
  },
17761
17761
  "dist/index.css": {
17762
17762
  "imports": [
@@ -17812,22 +17812,22 @@
17812
17812
  }
17813
17813
  ],
17814
17814
  "inputs": {
17815
- "../../../../../../../tmp/tmp-2868-6TSDHEibDpsa/18f32e818a72/tldraw.css": {
17815
+ "../../../../../../../tmp/tmp-2783-icMkNJUCXNIt/18f71d8ac6a1/tldraw.css": {
17816
17816
  "bytesInOutput": 75223
17817
17817
  },
17818
- "../../../../../../../tmp/tmp-2868-6TSDHEibDpsa/18f32e818290/index.css": {
17819
- "bytesInOutput": 131
17818
+ "../../../../../../../tmp/tmp-2783-icMkNJUCXNIt/18f71d8abf60/index.css": {
17819
+ "bytesInOutput": 401
17820
17820
  }
17821
17821
  },
17822
- "bytes": 75631
17822
+ "bytes": 75901
17823
17823
  },
17824
- "dist/HLSView-VL3DXGRO.css.map": {
17824
+ "dist/HLSView-MDK3WEXE.css.map": {
17825
17825
  "imports": [],
17826
17826
  "exports": [],
17827
17827
  "inputs": {},
17828
- "bytes": 121900
17828
+ "bytes": 122402
17829
17829
  },
17830
- "dist/HLSView-VL3DXGRO.css": {
17830
+ "dist/HLSView-MDK3WEXE.css": {
17831
17831
  "imports": [
17832
17832
  {
17833
17833
  "path": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap",
@@ -17881,14 +17881,14 @@
17881
17881
  }
17882
17882
  ],
17883
17883
  "inputs": {
17884
- "../../../../../../../tmp/tmp-2868-6TSDHEibDpsa/18f32e818a72/tldraw.css": {
17884
+ "../../../../../../../tmp/tmp-2783-icMkNJUCXNIt/18f71d8ac6a1/tldraw.css": {
17885
17885
  "bytesInOutput": 75223
17886
17886
  },
17887
- "../../../../../../../tmp/tmp-2868-6TSDHEibDpsa/18f32e818290/index.css": {
17888
- "bytesInOutput": 131
17887
+ "../../../../../../../tmp/tmp-2783-icMkNJUCXNIt/18f71d8abf60/index.css": {
17888
+ "bytesInOutput": 401
17889
17889
  }
17890
17890
  },
17891
- "bytes": 75642
17891
+ "bytes": 75912
17892
17892
  }
17893
17893
  }
17894
17894
  }
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "prebuilt",
11
11
  "roomkit"
12
12
  ],
13
- "version": "0.3.10-alpha.1",
13
+ "version": "0.3.10-alpha.11",
14
14
  "author": "100ms",
15
15
  "license": "MIT",
16
16
  "repository": {
@@ -74,12 +74,12 @@
74
74
  "react": ">=17.0.2 <19.0.0"
75
75
  },
76
76
  "dependencies": {
77
- "@100mslive/hls-player": "0.3.10-alpha.1",
77
+ "@100mslive/hls-player": "0.3.10-alpha.11",
78
78
  "@100mslive/hms-noise-cancellation": "0.0.1",
79
- "@100mslive/hms-virtual-background": "1.13.10-alpha.1",
80
- "@100mslive/hms-whiteboard": "0.0.0-alpha.2",
81
- "@100mslive/react-icons": "0.10.10-alpha.1",
82
- "@100mslive/react-sdk": "0.10.10-alpha.1",
79
+ "@100mslive/hms-virtual-background": "1.13.10-alpha.11",
80
+ "@100mslive/hms-whiteboard": "0.0.0-alpha.5",
81
+ "@100mslive/react-icons": "0.10.10-alpha.11",
82
+ "@100mslive/react-sdk": "0.10.10-alpha.11",
83
83
  "@100mslive/types-prebuilt": "0.12.8",
84
84
  "@emoji-mart/data": "^1.0.6",
85
85
  "@emoji-mart/react": "^1.0.1",
@@ -115,5 +115,5 @@
115
115
  "uuid": "^8.3.2",
116
116
  "worker-timers": "^7.0.40"
117
117
  },
118
- "gitHead": "6d26007639e3d5088d8f47681590b58698e934f4"
118
+ "gitHead": "51c33514b11a4af92173ef5e477307cb4ce4b4b5"
119
119
  }
@@ -4,6 +4,7 @@ import {
4
4
  HMSPeer,
5
5
  HMSPeerType,
6
6
  HMSRoleName,
7
+ selectAvailableRoleNames,
7
8
  selectHandRaisedPeers,
8
9
  selectHasPeerHandRaised,
9
10
  selectIsLargeRoom,
@@ -372,6 +373,7 @@ const ParticipantMoreActions = ({ peerId, role }: { peerId: string; role: string
372
373
  } = usePeerOnStageActions({ peerId, role });
373
374
  const canChangeRole = !!useHMSStore(selectPermissions)?.changeRole;
374
375
  const [openRoleChangeModal, setOpenRoleChangeModal] = useState(false);
376
+ const roles = useHMSStore(selectAvailableRoleNames);
375
377
 
376
378
  return (
377
379
  <>
@@ -409,7 +411,7 @@ const ParticipantMoreActions = ({ peerId, role }: { peerId: string; role: string
409
411
  </Dropdown.Item>
410
412
  ) : null}
411
413
 
412
- {canChangeRole ? (
414
+ {canChangeRole && roles.length > 1 ? (
413
415
  <Dropdown.Item css={{ bg: '$surface_default' }} onClick={() => setOpenRoleChangeModal(true)}>
414
416
  <PersonSettingsIcon />
415
417
  <Text variant="sm" css={{ ml: '$4', fontWeight: '$semiBold', c: '$on_surface_high' }}>
@@ -39,7 +39,9 @@ const RoleChangeContent = ({
39
39
  onOpenChange: (open: boolean) => void;
40
40
  isMobile?: boolean;
41
41
  }) => {
42
- const roles = useHMSStore(selectAvailableRoleNames).filter(role => role !== peer?.roleName);
42
+ const roles = useHMSStore(selectAvailableRoleNames).filter(
43
+ role => role !== peer?.roleName && role !== '__internal_recorder',
44
+ );
43
45
  const [selectedRole, setRole] = useState(roles.filter(role => role !== peer?.roleName)?.[0] || peer?.roleName);
44
46
  const hmsActions = useHMSActions();
45
47
  const [open, setOpen] = useState(false);
@@ -56,7 +58,7 @@ const RoleChangeContent = ({
56
58
 
57
59
  <Box>
58
60
  <Text
59
- variant="body2"
61
+ variant="sm"
60
62
  css={{
61
63
  mt: '$4',
62
64
  mb: '$8',
@@ -68,7 +70,7 @@ const RoleChangeContent = ({
68
70
  >
69
71
  Switch the role of
70
72
  <HighlightTerm value={peer.name} />
71
- from <HighlightTerm value={peer.roleName} />
73
+ from <HighlightTerm value={peer.roleName} /> to
72
74
  </Text>
73
75
  </Box>
74
76
  <Flex
@@ -92,7 +94,6 @@ const RoleChangeContent = ({
92
94
  data-testid="open_role_selection_dropdown"
93
95
  asChild
94
96
  css={{
95
- border: '1px solid $border_bright',
96
97
  bg: '$surface_default',
97
98
  r: '$1',
98
99
  p: '$6 $9',
@@ -166,8 +167,8 @@ export const RoleChangeModal = ({
166
167
 
167
168
  if (isMobile) {
168
169
  return (
169
- <Sheet.Root open={true} onOpenChange={onOpenChange}>
170
- <Sheet.Content css={{ p: '$12 $8', background: '$surface_dim' }}>
170
+ <Sheet.Root open={true} onOpenChange={onOpenChange} css={{ borderRadius: '$0 $0 0 0' }}>
171
+ <Sheet.Content css={{ p: '$10 $8', background: '$surface_dim', border: '1px solid $border_default' }}>
171
172
  <RoleChangeContent peer={peer} onOpenChange={onOpenChange} isMobile />
172
173
  </Sheet.Content>
173
174
  </Sheet.Root>
@@ -178,7 +179,7 @@ export const RoleChangeModal = ({
178
179
  <Dialog.Root defaultOpen onOpenChange={onOpenChange}>
179
180
  <Dialog.Portal>
180
181
  <Dialog.Overlay />
181
- <Dialog.Content css={{ width: 'min(400px,80%)', p: '$10' }}>
182
+ <Dialog.Content css={{ width: 'min(400px,80%)', p: '$10', overflow: 'visible' }}>
182
183
  <RoleChangeContent peer={peer} onOpenChange={onOpenChange} />
183
184
  </Dialog.Content>
184
185
  </Dialog.Portal>
@@ -5,6 +5,7 @@ import {
5
5
  HMSSimulcastLayerDefinition,
6
6
  HMSTrackID,
7
7
  HMSVideoTrack,
8
+ selectAvailableRoleNames,
8
9
  selectPermissions,
9
10
  selectSessionStore,
10
11
  selectTrackByID,
@@ -247,6 +248,7 @@ export const TileMenuContent = ({
247
248
  const canChangeRole = !!permissions?.changeRole;
248
249
  const removeOthers = !!permissions?.removeOthers;
249
250
  const { userName } = useHMSPrebuiltContext();
251
+ const roles = useHMSStore(selectAvailableRoleNames);
250
252
 
251
253
  const { isAudioEnabled, isVideoEnabled, setVolume, toggleAudio, toggleVideo, volume } = useRemoteAVToggle(
252
254
  audioTrackID,
@@ -315,7 +317,7 @@ export const TileMenuContent = ({
315
317
  </StyledMenuTile.ItemButton>
316
318
  ) : null}
317
319
 
318
- {canChangeRole ? (
320
+ {canChangeRole && roles.length > 1 ? (
319
321
  <StyledMenuTile.ItemButton
320
322
  className={dragClassName}
321
323
  css={spacingCSS}