diff --git a/res/css/_common.pcss b/res/css/_common.pcss index 020767b0ec..29bb165e7b 100644 --- a/res/css/_common.pcss +++ b/res/css/_common.pcss @@ -52,6 +52,11 @@ limitations under the License. --dialog-zIndex-standard: calc(var(--dialog-zIndex-standard-background) + 1); /* 4012 */ } +#matrixchat { + /* This is required to ensure Compound tooltips correctly draw where they should with z-index: auto */ + contain: strict; +} + /** * We need to increase the specificity of the selector to override the * custom property set by the design tokens package diff --git a/src/components/views/avatars/DecoratedRoomAvatar.tsx b/src/components/views/avatars/DecoratedRoomAvatar.tsx index 39997e186d..0afc131735 100644 --- a/src/components/views/avatars/DecoratedRoomAvatar.tsx +++ b/src/components/views/avatars/DecoratedRoomAvatar.tsx @@ -16,8 +16,9 @@ limitations under the License. import React from "react"; import classNames from "classnames"; -import { Room, RoomEvent, MatrixEvent, User, UserEvent, EventType, JoinRule } from "matrix-js-sdk/src/matrix"; +import { EventType, JoinRule, MatrixEvent, Room, RoomEvent, User, UserEvent } from "matrix-js-sdk/src/matrix"; import { UnstableValue } from "matrix-js-sdk/src/NamespacedValue"; +import { Tooltip } from "@vector-im/compound-web"; import RoomAvatar from "./RoomAvatar"; import NotificationBadge from "../rooms/NotificationBadge"; @@ -26,10 +27,8 @@ import { NotificationState } from "../../../stores/notifications/NotificationSta import { isPresenceEnabled } from "../../../utils/presence"; import { MatrixClientPeg } from "../../../MatrixClientPeg"; import { _t } from "../../../languageHandler"; -import TextWithTooltip from "../elements/TextWithTooltip"; import DMRoomMap from "../../../utils/DMRoomMap"; import { IOOBData } from "../../../stores/ThreepidInviteStore"; -import TooltipTarget from "../elements/TooltipTarget"; interface IProps { room: Room; @@ -38,7 +37,9 @@ interface IProps { forceCount?: boolean; oobData?: IOOBData; viewAvatarOnClick?: boolean; - tooltipProps?: Omit, "label" | "tooltipClassName" | "className">; + tooltipProps?: { + tabIndex?: number; + }; } interface IState { @@ -94,9 +95,7 @@ export default class DecoratedRoomAvatar extends React.PureComponent ); } @@ -211,7 +209,7 @@ export default class DecoratedRoomAvatar extends React.PureComponent - {icon} + {icon && {icon}} {badge} ); diff --git a/src/components/views/dialogs/ServerPickerDialog.tsx b/src/components/views/dialogs/ServerPickerDialog.tsx index 793cfcf27a..ee8a3751da 100644 --- a/src/components/views/dialogs/ServerPickerDialog.tsx +++ b/src/components/views/dialogs/ServerPickerDialog.tsx @@ -182,7 +182,7 @@ export default class ServerPickerDialog extends React.PureComponent