From 175d6a1b33528b83de0d068100df07a0b1c606cb Mon Sep 17 00:00:00 2001
From: Filipe Marins <filipe.marins@rocket.chat>
Date: Tue, 4 Oct 2022 12:40:28 -0300
Subject: [PATCH] Regression: Remove section and replace icon on administration
 kebab menu (#26986)

* refactor: kebab menu update

* chore: update package and icon

* chore: update fuselage

Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat>
---
 apps/meteor/app/livechat/client/ui.js         |   2 +-
 .../AdministrationList/AdministrationList.tsx |   5 -
 .../AdministrationModelList.tsx               |   2 +-
 .../AdministrationList/AppsModelList.tsx      |   2 +-
 .../AdministrationList/SettingsModelList.tsx  |  32 -----
 .../sidebar/header/actions/Administration.tsx |   6 +-
 .../rocketchat-i18n/i18n/en.i18n.json         |   2 +-
 .../tests/e2e/administration-menu.spec.ts     |  10 +-
 .../AdministrationList.spec.tsx               |   6 -
 .../AdministrationModelList.spec.tsx          |   8 +-
 .../SettingsModelList.spec.tsx                |  32 -----
 yarn.lock                                     | 131 ++++++++++++++++--
 12 files changed, 128 insertions(+), 110 deletions(-)
 delete mode 100644 apps/meteor/client/components/AdministrationList/SettingsModelList.tsx
 delete mode 100644 apps/meteor/tests/unit/client/components/AdministrationList/SettingsModelList.spec.tsx

diff --git a/apps/meteor/app/livechat/client/ui.js b/apps/meteor/app/livechat/client/ui.js
index 742ffd8ad7c..6b7eade52a1 100644
--- a/apps/meteor/app/livechat/client/ui.js
+++ b/apps/meteor/app/livechat/client/ui.js
@@ -14,7 +14,7 @@ Tracker.autorun((c) => {
 });
 
 AccountBox.addItem({
-	name: 'Manage_Omnichannel',
+	name: 'Omnichannel',
 	icon: 'headset',
 	href: '/omnichannel/current',
 	sideNav: 'omnichannelFlex',
diff --git a/apps/meteor/client/components/AdministrationList/AdministrationList.tsx b/apps/meteor/client/components/AdministrationList/AdministrationList.tsx
index e9a570ffd21..468a78f6d93 100644
--- a/apps/meteor/client/components/AdministrationList/AdministrationList.tsx
+++ b/apps/meteor/client/components/AdministrationList/AdministrationList.tsx
@@ -5,7 +5,6 @@ import { AccountBoxItem, IAppAccountBoxItem, isAppAccountBoxItem } from '../../.
 import AdministrationModelList from './AdministrationModelList';
 import AppsModelList from './AppsModelList';
 import AuditModelList from './AuditModelList';
-import SettingsModelList from './SettingsModelList';
 
 type AdministrationListProps = {
 	accountBoxItems: (IAppAccountBoxItem | AccountBoxItem)[];
@@ -15,7 +14,6 @@ type AdministrationListProps = {
 	hasAuditPermission: boolean;
 	hasAuditLogPermission: boolean;
 	hasManageApps: boolean;
-	hasSettingsPermission: boolean;
 };
 
 const AdministrationList: FC<AdministrationListProps> = ({
@@ -23,7 +21,6 @@ const AdministrationList: FC<AdministrationListProps> = ({
 	hasAuditPermission,
 	hasAuditLogPermission,
 	hasManageApps,
-	hasSettingsPermission,
 	hasAdminPermission,
 	closeList,
 }) => {
@@ -32,11 +29,9 @@ const AdministrationList: FC<AdministrationListProps> = ({
 	const showAudit = hasAuditPermission || hasAuditLogPermission;
 	const showManageApps = hasManageApps || !!appBoxItems.length;
 	const showAdmin = hasAdminPermission || !!adminBoxItems.length;
-	const showSettings = hasSettingsPermission;
 
 	const list = [
 		showAdmin && <AdministrationModelList showAdmin={showAdmin} accountBoxItems={adminBoxItems} closeList={closeList} />,
-		showSettings && <SettingsModelList closeList={closeList} />,
 		showManageApps && <AppsModelList appBoxItems={appBoxItems} closeList={closeList} showManageApps={showManageApps} />,
 		showAudit && <AuditModelList showAudit={hasAuditPermission} showAuditLog={hasAuditLogPermission} closeList={closeList} />,
 	];
diff --git a/apps/meteor/client/components/AdministrationList/AdministrationModelList.tsx b/apps/meteor/client/components/AdministrationList/AdministrationModelList.tsx
index 312972d5aee..b2f03fd3941 100644
--- a/apps/meteor/client/components/AdministrationList/AdministrationModelList.tsx
+++ b/apps/meteor/client/components/AdministrationList/AdministrationModelList.tsx
@@ -53,7 +53,7 @@ const AdministrationModelList: FC<AdministrationModelListProps> = ({ accountBoxI
 						)}
 						<ListItem
 							icon='cog'
-							text={t('Manage_workspace')}
+							text={t('Workspace')}
 							action={(): void => {
 								if (hasInfoPermission) {
 									infoRoute.push();
diff --git a/apps/meteor/client/components/AdministrationList/AppsModelList.tsx b/apps/meteor/client/components/AdministrationList/AppsModelList.tsx
index 6050ff5d1e3..3f9291fe2cc 100644
--- a/apps/meteor/client/components/AdministrationList/AppsModelList.tsx
+++ b/apps/meteor/client/components/AdministrationList/AppsModelList.tsx
@@ -23,7 +23,7 @@ const AppsModelList: FC<AppsModelListProps> = ({ appBoxItems, showManageApps, cl
 				{showManageApps && (
 					<>
 						<ListItem
-							icon='cube'
+							icon='store'
 							text={t('Marketplace')}
 							action={(): void => {
 								marketplaceRoute.push();
diff --git a/apps/meteor/client/components/AdministrationList/SettingsModelList.tsx b/apps/meteor/client/components/AdministrationList/SettingsModelList.tsx
deleted file mode 100644
index 245640aa119..00000000000
--- a/apps/meteor/client/components/AdministrationList/SettingsModelList.tsx
+++ /dev/null
@@ -1,32 +0,0 @@
-import { OptionTitle } from '@rocket.chat/fuselage';
-import { useTranslation, useRoute } from '@rocket.chat/ui-contexts';
-import React, { FC } from 'react';
-
-import ListItem from '../Sidebar/ListItem';
-
-type SettingsModelListProps = {
-	closeList: () => void;
-};
-
-const SettingsModelList: FC<SettingsModelListProps> = ({ closeList }) => {
-	const t = useTranslation();
-	const settingsRoute = useRoute('admin-settings');
-
-	return (
-		<>
-			<OptionTitle>{t('Settings')}</OptionTitle>
-			<ul>
-				<ListItem
-					icon='customize'
-					text={t('Workspace_settings')}
-					action={(): void => {
-						settingsRoute.push();
-						closeList();
-					}}
-				/>
-			</ul>
-		</>
-	);
-};
-
-export default SettingsModelList;
diff --git a/apps/meteor/client/sidebar/header/actions/Administration.tsx b/apps/meteor/client/sidebar/header/actions/Administration.tsx
index 3669dde3ac3..d0fbcd5fa12 100644
--- a/apps/meteor/client/sidebar/header/actions/Administration.tsx
+++ b/apps/meteor/client/sidebar/header/actions/Administration.tsx
@@ -27,7 +27,6 @@ const ADMIN_PERMISSIONS = [
 	'manage-own-incoming-integrations',
 	'view-engagement-dashboard',
 ];
-const SETTINGS_PERMISSIONS = ['view-privileged-setting', 'edit-privileged-setting', 'manage-selected-settings'];
 const AUDIT_PERMISSIONS = ['can-audit'];
 const AUDIT_LOG_PERMISSIONS = ['can-audit-log'];
 const MANAGE_APPS_PERMISSIONS = ['manage-apps'];
@@ -48,9 +47,7 @@ const Administration: VFC<Omit<HTMLAttributes<HTMLElement>, 'is'>> = (props) =>
 	const hasAuditLogPermission = useAtLeastOnePermission(AUDIT_LOG_PERMISSIONS) && hasAuditLicense;
 	const hasManageApps = useAtLeastOnePermission(MANAGE_APPS_PERMISSIONS);
 	const hasAdminPermission = useAtLeastOnePermission(ADMIN_PERMISSIONS);
-	const hasSettingsPermission = useAtLeastOnePermission(SETTINGS_PERMISSIONS);
-	const showMenu =
-		hasAuditPermission || hasAuditLogPermission || hasManageApps || hasAdminPermission || hasSettingsPermission || !!accountBoxItems.length;
+	const showMenu = hasAuditPermission || hasAuditLogPermission || hasManageApps || hasAdminPermission || !!accountBoxItems.length;
 
 	return (
 		<>
@@ -66,7 +63,6 @@ const Administration: VFC<Omit<HTMLAttributes<HTMLElement>, 'is'>> = (props) =>
 							hasAuditPermission={hasAuditPermission}
 							hasAuditLogPermission={hasAuditLogPermission}
 							hasManageApps={hasManageApps}
-							hasSettingsPermission={hasSettingsPermission}
 						/>
 					</Dropdown>,
 					document.body,
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json
index 965b5b33848..bab13b264e5 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json
@@ -5302,7 +5302,7 @@
   "Would_you_like_to_place_chat_on_hold": "Would you like to place this chat On-Hold?",
   "Wrap_up_the_call": "Wrap-up the call",
   "Wrap_Up_Notes": "Wrap-Up Notes",
-  "Workspace_settings": "Workspace settings",
+  "Workspace": "Workspace",
   "Yes": "Yes",
   "Yes_archive_it": "Yes, archive it!",
   "Yes_clear_all": "Yes, clear all!",
diff --git a/apps/meteor/tests/e2e/administration-menu.spec.ts b/apps/meteor/tests/e2e/administration-menu.spec.ts
index 701965e12f7..4da0bf93361 100644
--- a/apps/meteor/tests/e2e/administration-menu.spec.ts
+++ b/apps/meteor/tests/e2e/administration-menu.spec.ts
@@ -21,23 +21,17 @@ test.describe.serial('administration-menu', () => {
 	});
 
 	test('expect open info page', async ({ page }) => {
-		await poHomeDiscussion.sidenav.openAdministrationByLabel('Manage workspace');
+		await poHomeDiscussion.sidenav.openAdministrationByLabel('Workspace');
 
 		await expect(page).toHaveURL('admin/info');
 	});
 
 	test('expect open omnichannel page', async ({ page }) => {
-		await poHomeDiscussion.sidenav.openAdministrationByLabel('Manage Omnichannel');
+		await poHomeDiscussion.sidenav.openAdministrationByLabel('Omnichannel');
 
 		await expect(page).toHaveURL('omnichannel/current');
 	});
 
-	test('expect open settings page', async ({ page }) => {
-		await poHomeDiscussion.sidenav.openAdministrationByLabel('Workspace settings');
-
-		await expect(page).toHaveURL('admin/settings');
-	});
-
 	test('expect open app marketplace page', async ({ page }) => {
 		await poHomeDiscussion.sidenav.openAdministrationByLabel('Marketplace');
 
diff --git a/apps/meteor/tests/unit/client/components/AdministrationList/AdministrationList.spec.tsx b/apps/meteor/tests/unit/client/components/AdministrationList/AdministrationList.spec.tsx
index bde3be57328..dffb65d33b5 100644
--- a/apps/meteor/tests/unit/client/components/AdministrationList/AdministrationList.spec.tsx
+++ b/apps/meteor/tests/unit/client/components/AdministrationList/AdministrationList.spec.tsx
@@ -21,7 +21,6 @@ const defaultConfig = {
 	'./AdministrationModelList': () => <p>Administration Model List</p>,
 	'./AppsModelList': () => <p>Apps Model List</p>,
 	'./AuditModelList': () => <p>Audit Model List</p>,
-	'./SettingsModelList': () => <p>Settings Model List</p>,
 };
 
 describe('components/AdministrationList/AdministrationList', () => {
@@ -34,14 +33,12 @@ describe('components/AdministrationList/AdministrationList', () => {
 				hasAuditPermission={true}
 				hasAuditLogPermission={true}
 				hasManageApps={true}
-				hasSettingsPermission={true}
 				hasAdminPermission={true}
 			/>,
 		);
 
 		expect(screen.getByText('Administration Model List')).to.exist;
 		expect(screen.getByText('Apps Model List')).to.exist;
-		expect(screen.getByText('Settings Model List')).to.exist;
 		expect(screen.getByText('Audit Model List')).to.exist;
 	});
 
@@ -56,7 +53,6 @@ describe('components/AdministrationList/AdministrationList', () => {
 
 		expect(screen.queryByText('Administration Model List')).to.not.exist;
 		expect(screen.queryByText('Apps Model List')).to.not.exist;
-		expect(screen.queryByText('Settings Model List')).to.not.exist;
 		expect(screen.queryByText('Audit Model List')).to.not.exist;
 	});
 
@@ -71,7 +67,6 @@ describe('components/AdministrationList/AdministrationList', () => {
 
 		expect(screen.getByText('Administration Model List')).to.exist;
 		expect(screen.queryByText('Apps Model List')).to.not.exist;
-		expect(screen.queryByText('Settings Model List')).to.not.exist;
 		expect(screen.queryByText('Audit Model List')).to.not.exist;
 	});
 
@@ -91,7 +86,6 @@ describe('components/AdministrationList/AdministrationList', () => {
 
 		expect(screen.getByText('Apps Model List')).to.exist;
 		expect(screen.queryByText('Administration Model List')).to.not.exist;
-		expect(screen.queryByText('Settings Model List')).to.not.exist;
 		expect(screen.queryByText('Audit Model List')).to.not.exist;
 	});
 });
diff --git a/apps/meteor/tests/unit/client/components/AdministrationList/AdministrationModelList.spec.tsx b/apps/meteor/tests/unit/client/components/AdministrationList/AdministrationModelList.spec.tsx
index cd22ff963c4..a9db32cad70 100644
--- a/apps/meteor/tests/unit/client/components/AdministrationList/AdministrationModelList.spec.tsx
+++ b/apps/meteor/tests/unit/client/components/AdministrationList/AdministrationModelList.spec.tsx
@@ -40,7 +40,7 @@ describe('components/AdministrationList/AdministrationModelList', () => {
 		render(<AdministrationModelList closeList={() => null} accountBoxItems={[]} showAdmin={true} />);
 
 		expect(screen.getByText('Administration')).to.exist;
-		expect(screen.getByText('Manage_workspace')).to.exist;
+		expect(screen.getByText('Workspace')).to.exist;
 		expect(screen.getByText('Upgrade')).to.exist;
 	});
 
@@ -49,7 +49,7 @@ describe('components/AdministrationList/AdministrationModelList', () => {
 		render(<AdministrationModelList closeList={() => null} accountBoxItems={[]} showAdmin={false} />);
 
 		expect(screen.getByText('Administration')).to.exist;
-		expect(screen.queryByText('Manage_workspace')).to.not.exist;
+		expect(screen.queryByText('Workspace')).to.not.exist;
 		expect(screen.queryByText('Upgrade')).to.not.exist;
 	});
 
@@ -63,7 +63,7 @@ describe('components/AdministrationList/AdministrationModelList', () => {
 					<AdministrationModelList closeList={closeList} accountBoxItems={[]} showAdmin={true} />
 				</RouterContextMock>,
 			);
-			const button = screen.getByText('Manage_workspace');
+			const button = screen.getByText('Workspace');
 
 			userEvent.click(button);
 			await waitFor(() => expect(pushRoute).to.have.been.called.with('admin-info'));
@@ -85,7 +85,7 @@ describe('components/AdministrationList/AdministrationModelList', () => {
 					<AdministrationModelList closeList={closeList} accountBoxItems={[]} showAdmin={true} />
 				</RouterContextMock>,
 			);
-			const button = screen.getByText('Manage_workspace');
+			const button = screen.getByText('Workspace');
 
 			userEvent.click(button);
 			await waitFor(() => expect(pushRoute).to.have.been.called.with('admin-index'));
diff --git a/apps/meteor/tests/unit/client/components/AdministrationList/SettingsModelList.spec.tsx b/apps/meteor/tests/unit/client/components/AdministrationList/SettingsModelList.spec.tsx
deleted file mode 100644
index 5d711b4269a..00000000000
--- a/apps/meteor/tests/unit/client/components/AdministrationList/SettingsModelList.spec.tsx
+++ /dev/null
@@ -1,32 +0,0 @@
-import { render, screen, waitFor } from '@testing-library/react';
-import userEvent from '@testing-library/user-event';
-import { expect, spy } from 'chai';
-import React from 'react';
-
-import SettingsModelList from '../../../../../client/components/AdministrationList/SettingsModelList';
-import RouterContextMock from '../../../../mocks/client/RouterContextMock';
-
-describe('components/AdministrationList/SettingsModelList', () => {
-	it('should render', async () => {
-		render(<SettingsModelList closeList={() => null} />);
-
-		expect(screen.getByText('Workspace_settings')).to.exist;
-	});
-
-	context('when clicked', () => {
-		it('should go to admin settings', async () => {
-			const pushRoute = spy();
-			const closeList = spy();
-			render(
-				<RouterContextMock pushRoute={pushRoute}>
-					<SettingsModelList closeList={closeList} />
-				</RouterContextMock>,
-			);
-			const button = screen.getByText('Workspace_settings');
-
-			userEvent.click(button);
-			await waitFor(() => expect(pushRoute).to.have.been.called.with('admin-settings'));
-			await waitFor(() => expect(closeList).to.have.been.called());
-		});
-	});
-});
diff --git a/yarn.lock b/yarn.lock
index 9275f5dbbce..2b184725228 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4284,6 +4284,18 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@react-stately/data@npm:^3.6.1":
+  version: 3.6.1
+  resolution: "@react-stately/data@npm:3.6.1"
+  dependencies:
+    "@babel/runtime": ^7.6.2
+    "@react-types/shared": ^3.14.1
+  peerDependencies:
+    react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+  checksum: 79c9eae2ff674453010ed9b37fc23de687fe9dd5413c2931cadd2b7d85bcd567ed45078c0234d1c5117677321ad3eaf34952af6113546033643a7e78dde23242
+  languageName: node
+  linkType: hard
+
 "@react-stately/datepicker@npm:^3.0.2":
   version: 3.0.2
   resolution: "@react-stately/datepicker@npm:3.0.2"
@@ -5123,6 +5135,19 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rocket.chat/css-in-js@npm:~0.31.19-dev.26":
+  version: 0.31.19-dev.26
+  resolution: "@rocket.chat/css-in-js@npm:0.31.19-dev.26"
+  dependencies:
+    "@emotion/hash": ^0.8.0
+    "@rocket.chat/css-supports": ~0.31.19-dev.26
+    "@rocket.chat/memo": ~0.31.19-dev.26
+    "@rocket.chat/stylis-logical-props-middleware": ~0.31.19-dev.26
+    stylis: ~4.0.13
+  checksum: a89128e73179c98d9b78f26cfe1ee26ec07581427b056f2142373a15c56204e3d489f04c50abf35baff83109848c61a1d286320e0dfe683d9ea80c0ffbaba4c4
+  languageName: node
+  linkType: hard
+
 "@rocket.chat/css-supports@npm:~0.31.19-dev.19":
   version: 0.31.19-dev.19
   resolution: "@rocket.chat/css-supports@npm:0.31.19-dev.19"
@@ -5132,6 +5157,15 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rocket.chat/css-supports@npm:~0.31.19-dev.26":
+  version: 0.31.19-dev.26
+  resolution: "@rocket.chat/css-supports@npm:0.31.19-dev.26"
+  dependencies:
+    "@rocket.chat/memo": ~0.31.19-dev.26
+  checksum: c890f2b8b32f77dba62569e5ca3d5e79e0d50a4b3678334afdaa8213385c1b2a9481033aaab263905abe0c833fb1f26e919f384fba714030fa8a99226e87f3d8
+  languageName: node
+  linkType: hard
+
 "@rocket.chat/ddp-streamer@workspace:ee/apps/ddp-streamer":
   version: 0.0.0-use.local
   resolution: "@rocket.chat/ddp-streamer@workspace:ee/apps/ddp-streamer"
@@ -5319,13 +5353,20 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rocket.chat/fuselage-tokens@npm:next, @rocket.chat/fuselage-tokens@npm:~0.32.0-dev.101":
+"@rocket.chat/fuselage-tokens@npm:next":
   version: 0.32.0-dev.101
   resolution: "@rocket.chat/fuselage-tokens@npm:0.32.0-dev.101"
   checksum: 516aeecbfb84311bf819a867447a189467c7058cf65affe1e4b43ebde48b1d7db3714cbbcb4d1e8f4cc45369338f643ecd6d9e3d8b7b076ec12319492e1d8979
   languageName: node
   linkType: hard
 
+"@rocket.chat/fuselage-tokens@npm:~0.32.0-dev.108":
+  version: 0.32.0-dev.108
+  resolution: "@rocket.chat/fuselage-tokens@npm:0.32.0-dev.108"
+  checksum: 40a85e19eea4359c56d16a253b30bcb10c85be3e117e836afeb57bd29596a809d4820278801a0b1dbf6dc8c38279006fcc8cfab761a724de974b6d0e14c057fc
+  languageName: node
+  linkType: hard
+
 "@rocket.chat/fuselage-ui-kit@npm:next":
   version: 0.32.0-dev.104
   resolution: "@rocket.chat/fuselage-ui-kit@npm:0.32.0-dev.104"
@@ -5391,16 +5432,18 @@ __metadata:
   linkType: soft
 
 "@rocket.chat/fuselage@npm:next":
-  version: 0.32.0-dev.151
-  resolution: "@rocket.chat/fuselage@npm:0.32.0-dev.151"
-  dependencies:
-    "@rocket.chat/css-in-js": ~0.31.19-dev.19
-    "@rocket.chat/css-supports": ~0.31.19-dev.19
-    "@rocket.chat/fuselage-tokens": ~0.32.0-dev.101
-    "@rocket.chat/memo": ~0.31.19-dev.19
-    "@rocket.chat/styled": ~0.31.19-dev.19
+  version: 0.32.0-dev.158
+  resolution: "@rocket.chat/fuselage@npm:0.32.0-dev.158"
+  dependencies:
+    "@rocket.chat/css-in-js": ~0.31.19-dev.26
+    "@rocket.chat/css-supports": ~0.31.19-dev.26
+    "@rocket.chat/fuselage-tokens": ~0.32.0-dev.108
+    "@rocket.chat/memo": ~0.31.19-dev.26
+    "@rocket.chat/styled": ~0.31.19-dev.26
     invariant: ^2.2.4
+    react-aria: ~3.19.0
     react-keyed-flatten-children: ^1.3.0
+    react-stately: ~3.17.0
   peerDependencies:
     "@rocket.chat/fuselage-hooks": "*"
     "@rocket.chat/fuselage-polyfills": "*"
@@ -5408,7 +5451,7 @@ __metadata:
     react: ^17.0.2
     react-dom: ^17.0.2
     react-virtuoso: 1.2.4
-  checksum: 9d9d278e47b3e07095d6fb3ff988c1aafa5da802444069d9898b5d6fc706685949a939fdd9f336c6eac6a7d853c83ec15762158a9a11faab3c1a44aedf2e4a77
+  checksum: bd617d89fb2477a068bec33421457b93b5f97066c796bd621e8e358608d893fe41cbfaba9f7ebfea3435d98756ed473d805b1bad3d231c7ffc0699b5242fdd55
   languageName: node
   linkType: hard
 
@@ -5474,9 +5517,9 @@ __metadata:
   linkType: soft
 
 "@rocket.chat/icons@npm:next":
-  version: 0.32.0-dev.130
-  resolution: "@rocket.chat/icons@npm:0.32.0-dev.130"
-  checksum: e7dbbf45e7b7eeb81670746d2440cb55bbe750fe432f2ac81f8437e02c08ee9be5596828d65392eca2664b667e2c608b417daf0db70277fdd51efda33726cbe4
+  version: 0.32.0-dev.140
+  resolution: "@rocket.chat/icons@npm:0.32.0-dev.140"
+  checksum: 9da9f6537268a49b814879b2abaaf93de05d42009e023459cf3c2d5966564910ae1ea83a2ccfe6723cfb8077546534d2d281418963d27daf5a58a4ee45029042
   languageName: node
   linkType: hard
 
@@ -5596,6 +5639,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rocket.chat/memo@npm:~0.31.19-dev.26":
+  version: 0.31.19-dev.26
+  resolution: "@rocket.chat/memo@npm:0.31.19-dev.26"
+  checksum: 438059e30795269ab461fd557a9efbad956cbe93624ff5927d3e3abd9132d7cb6b1ac379b4f28efec11c87c34a145a168167e3d96cd111a380aaa23565874c99
+  languageName: node
+  linkType: hard
+
 "@rocket.chat/message-parser@npm:next":
   version: 0.32.0-dev.99
   resolution: "@rocket.chat/message-parser@npm:0.32.0-dev.99"
@@ -6140,6 +6190,16 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rocket.chat/styled@npm:~0.31.19-dev.26":
+  version: 0.31.19-dev.26
+  resolution: "@rocket.chat/styled@npm:0.31.19-dev.26"
+  dependencies:
+    "@rocket.chat/css-in-js": ~0.31.19-dev.26
+    tslib: ^2.3.1
+  checksum: 43fe29955169450a0669905ccfcdedecca03cc3e6277be3faeb85b38332afb4df83736da7c5501d452ce869aafd4527af5bacb284948bb5fa83f669f54656142
+  languageName: node
+  linkType: hard
+
 "@rocket.chat/stylis-logical-props-middleware@npm:~0.31.19-dev.19":
   version: 0.31.19-dev.19
   resolution: "@rocket.chat/stylis-logical-props-middleware@npm:0.31.19-dev.19"
@@ -6152,6 +6212,18 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rocket.chat/stylis-logical-props-middleware@npm:~0.31.19-dev.26":
+  version: 0.31.19-dev.26
+  resolution: "@rocket.chat/stylis-logical-props-middleware@npm:0.31.19-dev.26"
+  dependencies:
+    "@rocket.chat/css-supports": ~0.31.19-dev.26
+    tslib: ^2.3.1
+  peerDependencies:
+    stylis: 4.0.10
+  checksum: ae845d95833790c60156114878691585de8c24e749f6f52742087584e4ae46b8a364c2ef5a29a7f5cde99de01013961c7475e162daf49b4160b6e81fc1e573b6
+  languageName: node
+  linkType: hard
+
 "@rocket.chat/ui-client@workspace:^, @rocket.chat/ui-client@workspace:packages/ui-client":
   version: 0.0.0-use.local
   resolution: "@rocket.chat/ui-client@workspace:packages/ui-client"
@@ -29159,7 +29231,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"react-aria@npm:^3.19.0":
+"react-aria@npm:^3.19.0, react-aria@npm:~3.19.0":
   version: 3.19.0
   resolution: "react-aria@npm:3.19.0"
   dependencies:
@@ -29412,6 +29484,37 @@ __metadata:
   languageName: node
   linkType: hard
 
+"react-stately@npm:~3.17.0":
+  version: 3.17.0
+  resolution: "react-stately@npm:3.17.0"
+  dependencies:
+    "@react-stately/calendar": ^3.0.2
+    "@react-stately/checkbox": ^3.2.1
+    "@react-stately/collections": ^3.4.3
+    "@react-stately/combobox": ^3.2.1
+    "@react-stately/data": ^3.6.1
+    "@react-stately/datepicker": ^3.0.2
+    "@react-stately/list": ^3.5.3
+    "@react-stately/menu": ^3.4.1
+    "@react-stately/numberfield": ^3.2.1
+    "@react-stately/overlays": ^3.4.1
+    "@react-stately/radio": ^3.5.1
+    "@react-stately/searchfield": ^3.3.1
+    "@react-stately/select": ^3.3.1
+    "@react-stately/selection": ^3.10.3
+    "@react-stately/slider": ^3.2.1
+    "@react-stately/table": ^3.4.0
+    "@react-stately/tabs": ^3.2.1
+    "@react-stately/toggle": ^3.4.1
+    "@react-stately/tooltip": ^3.2.1
+    "@react-stately/tree": ^3.3.3
+    "@react-types/shared": ^3.14.1
+  peerDependencies:
+    react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+  checksum: da233f06f0c4a2b821755cde7b484b8cc07743b075224225a7213be1b62cf1db0966216528775d755fe83cb2a5eeda43c59684bbba47fcf2652f465557f8f4d2
+  languageName: node
+  linkType: hard
+
 "react-transition-group@npm:^4.3.0":
   version: 4.4.2
   resolution: "react-transition-group@npm:4.4.2"
-- 
GitLab