New room list: rework spacing of room list item (#29965)
* feat: rework spacing of room list item * test: update snapshot * test(e2e): regenerate room list panel screenshots * test(e2e): regenerate room list screenshots * test(e2e): update filter screenshot
@@ -30,6 +30,9 @@ test.describe("Room list panel", () => {
|
|||||||
for (let i = 0; i < 20; i++) {
|
for (let i = 0; i < 20; i++) {
|
||||||
await app.client.createRoom({ name: `room${i}` });
|
await app.client.createRoom({ name: `room${i}` });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// focus the user menu to avoid to have hover decoration
|
||||||
|
await page.getByRole("button", { name: "User menu" }).focus();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("should render the room list panel", { tag: "@screenshot" }, async ({ page, app, user }) => {
|
test("should render the room list panel", { tag: "@screenshot" }, async ({ page, app, user }) => {
|
||||||
|
|||||||
@@ -29,6 +29,9 @@ test.describe("Room list", () => {
|
|||||||
test.beforeEach(async ({ page, app, user }) => {
|
test.beforeEach(async ({ page, app, user }) => {
|
||||||
// The notification toast is displayed above the search section
|
// The notification toast is displayed above the search section
|
||||||
await app.closeNotificationToast();
|
await app.closeNotificationToast();
|
||||||
|
|
||||||
|
// focus the user menu to avoid to have hover decoration
|
||||||
|
await page.getByRole("button", { name: "User menu" }).focus();
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe("Room list", () => {
|
test.describe("Room list", () => {
|
||||||
@@ -241,6 +244,10 @@ test.describe("Room list", () => {
|
|||||||
test("should be a public room", { tag: "@screenshot" }, async ({ page, app, user }) => {
|
test("should be a public room", { tag: "@screenshot" }, async ({ page, app, user }) => {
|
||||||
// @ts-ignore Visibility enum is not accessible
|
// @ts-ignore Visibility enum is not accessible
|
||||||
await app.client.createRoom({ name: "public room", visibility: "public" });
|
await app.client.createRoom({ name: "public room", visibility: "public" });
|
||||||
|
|
||||||
|
// focus the user menu to avoid to have hover decoration
|
||||||
|
await page.getByRole("button", { name: "User menu" }).focus();
|
||||||
|
|
||||||
const roomListView = getRoomList(page);
|
const roomListView = getRoomList(page);
|
||||||
const publicRoom = roomListView.getByRole("gridcell", { name: "public room" });
|
const publicRoom = roomListView.getByRole("gridcell", { name: "public room" });
|
||||||
|
|
||||||
@@ -256,6 +263,10 @@ test.describe("Room list", () => {
|
|||||||
|
|
||||||
const roomListView = getRoomList(page);
|
const roomListView = getRoomList(page);
|
||||||
const videoRoom = roomListView.getByRole("gridcell", { name: "video room" });
|
const videoRoom = roomListView.getByRole("gridcell", { name: "video room" });
|
||||||
|
|
||||||
|
// focus the user menu to avoid to have hover decoration
|
||||||
|
await page.getByRole("button", { name: "User menu" }).focus();
|
||||||
|
|
||||||
await expect(videoRoom).toBeVisible();
|
await expect(videoRoom).toBeVisible();
|
||||||
await expect(videoRoom).toMatchScreenshot("room-list-item-video.png");
|
await expect(videoRoom).toMatchScreenshot("room-list-item-video.png");
|
||||||
});
|
});
|
||||||
@@ -328,6 +339,10 @@ test.describe("Room list", () => {
|
|||||||
await page.getByRole("menuitemcheckbox", { name: "Show message previews" }).click();
|
await page.getByRole("menuitemcheckbox", { name: "Show message previews" }).click();
|
||||||
|
|
||||||
const roomId = await app.client.createRoom({ name: "activity" });
|
const roomId = await app.client.createRoom({ name: "activity" });
|
||||||
|
|
||||||
|
// focus the user menu to avoid to have hover decoration
|
||||||
|
await page.getByRole("button", { name: "User menu" }).focus();
|
||||||
|
|
||||||
await app.client.inviteUser(roomId, bot.credentials.userId);
|
await app.client.inviteUser(roomId, bot.credentials.userId);
|
||||||
await bot.joinRoom(roomId);
|
await bot.joinRoom(roomId);
|
||||||
await bot.sendMessage(roomId, "I am a robot. Beep.");
|
await bot.sendMessage(roomId, "I am a robot. Beep.");
|
||||||
@@ -376,8 +391,8 @@ test.describe("Room list", () => {
|
|||||||
await room.getByRole("button", { name: "More Options" }).click();
|
await room.getByRole("button", { name: "More Options" }).click();
|
||||||
await page.getByRole("menuitem", { name: "mark as unread" }).click();
|
await page.getByRole("menuitem", { name: "mark as unread" }).click();
|
||||||
|
|
||||||
// Remove hover on the room list item
|
// focus the user menu to avoid to have hover decoration
|
||||||
await roomListView.hover();
|
await page.getByRole("button", { name: "User menu" }).focus();
|
||||||
|
|
||||||
await expect(room).toMatchScreenshot("room-list-item-mark-as-unread.png");
|
await expect(room).toMatchScreenshot("room-list-item-mark-as-unread.png");
|
||||||
});
|
});
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
@@ -7,19 +7,19 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The RoomListItemView has the following structure:
|
* The RoomListItemView has the following structure:
|
||||||
* button----------------------------------------|
|
* button--------------------------------------------------|
|
||||||
* | <-12px-> container--------------------------|
|
* | <-12px-> container------------------------------------|
|
||||||
* | | room avatar <-12px-> content-----|
|
* | | room avatar <-8px-> content----------------|
|
||||||
* | | | room_name |
|
* | | | room_name <- 20px ->|
|
||||||
* | | | ----------| <-- border
|
* | | | --------------------| <-- border
|
||||||
* |---------------------------------------------|
|
* |-------------------------------------------------------|
|
||||||
*/
|
*/
|
||||||
.mx_RoomListItemView {
|
.mx_RoomListItemView {
|
||||||
all: unset;
|
all: unset;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
.mx_RoomListItemView_container {
|
.mx_RoomListItemView_container {
|
||||||
padding-left: var(--cpd-space-2x);
|
padding-left: var(--cpd-space-3x);
|
||||||
font: var(--cpd-font-body-md-regular);
|
font: var(--cpd-font-body-md-regular);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
border-bottom: var(--cpd-border-width-0-5) solid var(--cpd-color-bg-subtle-secondary);
|
border-bottom: var(--cpd-border-width-0-5) solid var(--cpd-color-bg-subtle-secondary);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
|
padding-right: var(--cpd-space-5x);
|
||||||
|
|
||||||
.mx_RoomListItemView_text {
|
.mx_RoomListItemView_text {
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
@@ -56,26 +57,20 @@
|
|||||||
background-color: var(--cpd-color-bg-action-secondary-hovered);
|
background-color: var(--cpd-color-bg-action-secondary-hovered);
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx_RoomListItemView_menu_open .mx_RoomListItemView_content {
|
.mx_RoomListItemView_menu_open .mx_RoomListItemView_container .mx_RoomListItemView_content {
|
||||||
padding-right: var(--cpd-space-1-5x);
|
/**
|
||||||
|
* The figma uses 16px padding (--cpd-space-4x) but due to https://github.com/element-hq/compound-web/issues/331
|
||||||
|
* the icon size of the menu is 18px instead of 20px with a different internal padding
|
||||||
|
* We need to use 18px to align the icon with the others icons
|
||||||
|
* 18px is not available in compound spacing
|
||||||
|
*/
|
||||||
|
padding-right: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx_RoomListItemView_selected {
|
.mx_RoomListItemView_selected {
|
||||||
background-color: var(--cpd-color-bg-action-secondary-pressed);
|
background-color: var(--cpd-color-bg-action-secondary-pressed);
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx_RoomListItemView_notification_decoration {
|
|
||||||
.mx_RoomListItemView_content {
|
|
||||||
padding-right: var(--cpd-space-2x);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.mx_RoomListItemView_empty {
|
|
||||||
.mx_RoomListItemView_content {
|
|
||||||
padding-right: var(--cpd-space-3x);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.mx_RoomListItemView_bold .mx_RoomListItemView_roomName {
|
.mx_RoomListItemView_bold .mx_RoomListItemView_roomName {
|
||||||
font: var(--cpd-font-body-md-semibold);
|
font: var(--cpd-font-body-md-semibold);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ export function NotificationDecoration({
|
|||||||
<Flex
|
<Flex
|
||||||
align="center"
|
align="center"
|
||||||
justify="center"
|
justify="center"
|
||||||
gap="var(--cpd-space-1-5x)"
|
gap="var(--cpd-space-1x)"
|
||||||
{...props}
|
{...props}
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export function RoomListItemMenuView({ room, setMenuOpen }: RoomListItemMenuView
|
|||||||
const vm = useRoomListItemMenuViewModel(room);
|
const vm = useRoomListItemMenuViewModel(room);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Flex className="mx_RoomListItemMenuView" align="center" gap="var(--cpd-space-0-5x)">
|
<Flex className="mx_RoomListItemMenuView" align="center" gap="var(--cpd-space-1x)">
|
||||||
{vm.showMoreOptionsMenu && <MoreOptionsMenu setMenuOpen={setMenuOpen} vm={vm} />}
|
{vm.showMoreOptionsMenu && <MoreOptionsMenu setMenuOpen={setMenuOpen} vm={vm} />}
|
||||||
{vm.showNotificationMenu && <NotificationMenu setMenuOpen={setMenuOpen} vm={vm} />}
|
{vm.showNotificationMenu && <NotificationMenu setMenuOpen={setMenuOpen} vm={vm} />}
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|||||||
@@ -47,15 +47,10 @@ export const RoomListItemView = memo(function RoomListItemView({
|
|||||||
const showHoverDecoration = isMenuOpen || isHover;
|
const showHoverDecoration = isMenuOpen || isHover;
|
||||||
const showHoverMenu = showHoverDecoration && vm.showHoverMenu;
|
const showHoverMenu = showHoverDecoration && vm.showHoverMenu;
|
||||||
|
|
||||||
const isInvitation = vm.notificationState.invited;
|
|
||||||
const isNotificationDecorationVisible = isInvitation || (!showHoverDecoration && vm.showNotificationDecoration);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<button
|
<button
|
||||||
ref={ref}
|
ref={ref}
|
||||||
className={classNames("mx_RoomListItemView", {
|
className={classNames("mx_RoomListItemView", {
|
||||||
mx_RoomListItemView_empty: !isNotificationDecorationVisible && !showHoverDecoration,
|
|
||||||
mx_RoomListItemView_notification_decoration: isNotificationDecorationVisible,
|
|
||||||
mx_RoomListItemView_hover: showHoverDecoration,
|
mx_RoomListItemView_hover: showHoverDecoration,
|
||||||
mx_RoomListItemView_menu_open: showHoverMenu,
|
mx_RoomListItemView_menu_open: showHoverMenu,
|
||||||
mx_RoomListItemView_selected: isSelected,
|
mx_RoomListItemView_selected: isSelected,
|
||||||
@@ -83,7 +78,7 @@ export const RoomListItemView = memo(function RoomListItemView({
|
|||||||
<RoomAvatarView room={room} />
|
<RoomAvatarView room={room} />
|
||||||
<Flex
|
<Flex
|
||||||
className="mx_RoomListItemView_content"
|
className="mx_RoomListItemView_content"
|
||||||
gap="var(--cpd-space-3x)"
|
gap="var(--cpd-space-2x)"
|
||||||
align="center"
|
align="center"
|
||||||
justify="space-between"
|
justify="space-between"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room0"
|
aria-label="Open room room0"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 0px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 0px; width: 100%;"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
@@ -56,7 +56,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -77,7 +77,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room1"
|
aria-label="Open room room1"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 48px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 48px; width: 100%;"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -108,7 +108,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -129,7 +129,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room2"
|
aria-label="Open room room2"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 96px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 96px; width: 100%;"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -160,7 +160,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -181,7 +181,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room3"
|
aria-label="Open room room3"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 144px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 144px; width: 100%;"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -212,7 +212,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -233,7 +233,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room4"
|
aria-label="Open room room4"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 192px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 192px; width: 100%;"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -264,7 +264,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -285,7 +285,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room5"
|
aria-label="Open room room5"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 240px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 240px; width: 100%;"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -316,7 +316,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -337,7 +337,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room6"
|
aria-label="Open room room6"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 288px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 288px; width: 100%;"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -368,7 +368,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -389,7 +389,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room7"
|
aria-label="Open room room7"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 336px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 336px; width: 100%;"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -420,7 +420,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -441,7 +441,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room8"
|
aria-label="Open room room8"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 384px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 384px; width: 100%;"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -472,7 +472,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -493,7 +493,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room9"
|
aria-label="Open room room9"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
role="gridcell"
|
role="gridcell"
|
||||||
style="height: 48px; left: 0px; position: absolute; top: 432px; width: 100%;"
|
style="height: 48px; left: 0px; position: absolute; top: 432px; width: 100%;"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -524,7 +524,7 @@ exports[`<RoomList /> should render a room list 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ exports[`<RoomListItemMenuView /> should render the more options menu 1`] = `
|
|||||||
<DocumentFragment>
|
<DocumentFragment>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemMenuView"
|
class="mx_Flex mx_RoomListItemMenuView"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-0-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-disabled="false"
|
aria-disabled="false"
|
||||||
@@ -79,7 +79,7 @@ exports[`<RoomListItemMenuView /> should render the notification options menu 1`
|
|||||||
<DocumentFragment>
|
<DocumentFragment>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemMenuView"
|
class="mx_Flex mx_RoomListItemMenuView"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-0-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-disabled="false"
|
aria-disabled="false"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ exports[`<RoomListItemView /> should be selected if isSelected=true 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room1"
|
aria-label="Open room room1"
|
||||||
aria-selected="true"
|
aria-selected="true"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty mx_RoomListItemView_selected"
|
class="mx_RoomListItemView mx_RoomListItemView_selected"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
@@ -34,7 +34,7 @@ exports[`<RoomListItemView /> should be selected if isSelected=true 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -60,7 +60,7 @@ exports[`<RoomListItemView /> should display notification decoration 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room1"
|
aria-label="Open room room1"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_notification_decoration"
|
class="mx_RoomListItemView"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
@@ -89,7 +89,7 @@ exports[`<RoomListItemView /> should display notification decoration 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -108,7 +108,7 @@ exports[`<RoomListItemView /> should display notification decoration 1`] = `
|
|||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
class="mx_Flex"
|
class="mx_Flex"
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="_unread-counter_9mg0k_8"
|
class="_unread-counter_9mg0k_8"
|
||||||
@@ -127,7 +127,7 @@ exports[`<RoomListItemView /> should render a room item 1`] = `
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room1"
|
aria-label="Open room room1"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
@@ -156,7 +156,7 @@ exports[`<RoomListItemView /> should render a room item 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
@@ -182,7 +182,7 @@ exports[`<RoomListItemView /> should render a room item with a message preview 1
|
|||||||
<button
|
<button
|
||||||
aria-label="Open room room1"
|
aria-label="Open room room1"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
class="mx_RoomListItemView mx_RoomListItemView_empty"
|
class="mx_RoomListItemView"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
@@ -211,7 +211,7 @@ exports[`<RoomListItemView /> should render a room item with a message preview 1
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
class="mx_Flex mx_RoomListItemView_content"
|
class="mx_Flex mx_RoomListItemView_content"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-3x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: space-between; --mx-flex-gap: var(--cpd-space-2x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="mx_RoomListItemView_text"
|
class="mx_RoomListItemView_text"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ exports[`<NotificationDecoration /> should render the activity decoration 1`] =
|
|||||||
<div
|
<div
|
||||||
class="mx_Flex"
|
class="mx_Flex"
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="_unread_1k06b_8"
|
class="_unread_1k06b_8"
|
||||||
@@ -21,7 +21,7 @@ exports[`<NotificationDecoration /> should render the invitation decoration 1`]
|
|||||||
<div
|
<div
|
||||||
class="mx_Flex"
|
class="mx_Flex"
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
fill="var(--cpd-color-icon-accent-primary)"
|
fill="var(--cpd-color-icon-accent-primary)"
|
||||||
@@ -43,7 +43,7 @@ exports[`<NotificationDecoration /> should render the mention decoration 1`] = `
|
|||||||
<div
|
<div
|
||||||
class="mx_Flex"
|
class="mx_Flex"
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
fill="var(--cpd-color-icon-accent-primary)"
|
fill="var(--cpd-color-icon-accent-primary)"
|
||||||
@@ -70,7 +70,7 @@ exports[`<NotificationDecoration /> should render the muted decoration 1`] = `
|
|||||||
<div
|
<div
|
||||||
class="mx_Flex"
|
class="mx_Flex"
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
fill="var(--cpd-color-icon-tertiary)"
|
fill="var(--cpd-color-icon-tertiary)"
|
||||||
@@ -95,7 +95,7 @@ exports[`<NotificationDecoration /> should render the notification decoration 1`
|
|||||||
<div
|
<div
|
||||||
class="mx_Flex"
|
class="mx_Flex"
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="_unread-counter_9mg0k_8"
|
class="_unread-counter_9mg0k_8"
|
||||||
@@ -111,7 +111,7 @@ exports[`<NotificationDecoration /> should render the notification decoration wi
|
|||||||
<div
|
<div
|
||||||
class="mx_Flex"
|
class="mx_Flex"
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="_unread-counter_9mg0k_8"
|
class="_unread-counter_9mg0k_8"
|
||||||
@@ -125,7 +125,7 @@ exports[`<NotificationDecoration /> should render the unset message decoration 1
|
|||||||
<div
|
<div
|
||||||
class="mx_Flex"
|
class="mx_Flex"
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
fill="var(--cpd-color-icon-critical-primary)"
|
fill="var(--cpd-color-icon-critical-primary)"
|
||||||
@@ -147,7 +147,7 @@ exports[`<NotificationDecoration /> should render the video decoration 1`] = `
|
|||||||
<div
|
<div
|
||||||
class="mx_Flex"
|
class="mx_Flex"
|
||||||
data-testid="notification-decoration"
|
data-testid="notification-decoration"
|
||||||
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1-5x); --mx-flex-wrap: nowrap;"
|
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: center; --mx-flex-justify: center; --mx-flex-gap: var(--cpd-space-1x); --mx-flex-wrap: nowrap;"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
fill="var(--cpd-color-icon-accent-primary)"
|
fill="var(--cpd-color-icon-accent-primary)"
|
||||||
|
|||||||