8e1b9f46d4
* Set expected line height to an expanded GELS line on IRC layout, add a test * Add a test for compact modern/group layout * Create a new test category on timeline.spec.ts * Rename the class name as 'spacer' * Add a test for GELS' spacer on bubble layout --------- Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com> Co-authored-by: Germain <germain@souquet.com>
240 lines
6.9 KiB
Text
240 lines
6.9 KiB
Text
/*
|
|
Copyright 2020 The Matrix.org Foundation C.I.C.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
$irc-line-height: $font-18px;
|
|
|
|
.mx_IRCLayout {
|
|
--name-width: 80px; // cf. ircDisplayNameWidth on Settings.tsx
|
|
--icon-width: 14px;
|
|
--right-padding: 5px;
|
|
--line-height: $irc-line-height;
|
|
|
|
line-height: var(--line-height) !important;
|
|
|
|
.mx_NewRoomIntro {
|
|
> h2 {
|
|
line-height: initial; /* Cancel $irc-line-height */
|
|
}
|
|
}
|
|
|
|
.mx_EventTile {
|
|
--EventTile_irc_line-padding-block: 1px;
|
|
|
|
/* timestamps are links which shouldn't be underlined */
|
|
> a {
|
|
text-decoration: none;
|
|
min-width: $MessageTimestamp_width;
|
|
}
|
|
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: flex-start;
|
|
padding-top: 0;
|
|
|
|
> * {
|
|
margin-right: var(--right-padding);
|
|
}
|
|
|
|
.mx_EventTile_msgOption {
|
|
order: 5;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.mx_EventTile_line,
|
|
.mx_EventTile_reply {
|
|
display: flex;
|
|
flex-direction: column;
|
|
order: 3;
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.mx_EventTile_avatar {
|
|
order: 1;
|
|
position: relative;
|
|
flex-shrink: 0;
|
|
height: $irc-line-height;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
/* Need to use important to override the js provided height and width values. */
|
|
> .mx_BaseAvatar,
|
|
> .mx_BaseAvatar > * {
|
|
height: $font-14px !important;
|
|
width: $font-14px !important;
|
|
font-size: $font-10px !important;
|
|
line-height: $font-15px !important;
|
|
}
|
|
}
|
|
|
|
.mx_DisambiguatedProfile {
|
|
width: var(--name-width);
|
|
margin-inline-end: 0; /* override mx_EventTile > * */
|
|
order: 2;
|
|
flex-shrink: 0;
|
|
|
|
> .mx_DisambiguatedProfile_displayName {
|
|
width: 100%;
|
|
text-align: end;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
> .mx_DisambiguatedProfile_mxid {
|
|
visibility: collapse;
|
|
/* Override the inherited margin. */
|
|
margin-left: 0;
|
|
padding: 0 5px;
|
|
}
|
|
|
|
&:hover {
|
|
overflow: visible;
|
|
z-index: 10;
|
|
|
|
> .mx_DisambiguatedProfile_displayName {
|
|
overflow: visible;
|
|
display: inline;
|
|
background-color: $event-selected-color;
|
|
border-radius: 8px 0 0 8px;
|
|
padding-right: 8px;
|
|
}
|
|
|
|
> .mx_DisambiguatedProfile_mxid {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
background-color: $event-selected-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
.mx_EventTile_e2eIcon {
|
|
padding: 0;
|
|
|
|
flex-shrink: 0;
|
|
flex-grow: 0;
|
|
|
|
height: $font-18px;
|
|
|
|
background-position: center;
|
|
}
|
|
|
|
.mx_EventTile_line {
|
|
.mx_EventTile_e2eIcon,
|
|
.mx_TextualEvent,
|
|
.mx_ViewSourceEvent,
|
|
.mx_MTextBody {
|
|
/* add a 1px padding top and bottom because our larger
|
|
emoji font otherwise gets cropped by anti-zalgo */
|
|
padding: var(--EventTile_irc_line-padding-block) 0;
|
|
}
|
|
|
|
.mx_EventTile_e2eIcon,
|
|
.mx_TextualEvent,
|
|
.mx_MTextBody {
|
|
display: inline-block;
|
|
}
|
|
|
|
.mx_ReplyTile {
|
|
.mx_MTextBody {
|
|
display: -webkit-box; /* Enable -webkit-line-clamp */
|
|
}
|
|
}
|
|
}
|
|
|
|
.mx_EventTile_reply {
|
|
order: 4;
|
|
}
|
|
|
|
.mx_EditMessageComposer_buttons {
|
|
position: relative;
|
|
}
|
|
}
|
|
|
|
.mx_EventTile_emote {
|
|
.mx_EventTile_avatar {
|
|
/* add --right-padding value of MessageTimestamp only */
|
|
margin-left: calc(var(--name-width) + var(--icon-width) + 1 * var(--right-padding));
|
|
}
|
|
}
|
|
|
|
blockquote {
|
|
margin: 0;
|
|
}
|
|
|
|
.mx_EventTile.mx_EventTile_info {
|
|
.mx_ViewSourceEvent, /* For hidden events */
|
|
.mx_TextualEvent {
|
|
line-height: $irc-line-height;
|
|
}
|
|
}
|
|
|
|
/* Suppress highlight thing from the normal Layout. */
|
|
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line,
|
|
.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line,
|
|
.mx_EventTile:hover.mx_EventTile_unknown .mx_EventTile_line {
|
|
border-left: 0;
|
|
}
|
|
|
|
.mx_ReplyChain {
|
|
.mx_DisambiguatedProfile {
|
|
width: unset;
|
|
background: transparent;
|
|
order: unset;
|
|
flex-shrink: unset; /* Unset flex-shrink to prevent long display name blowout */
|
|
}
|
|
|
|
.mx_EventTile_emote {
|
|
> .mx_EventTile_avatar {
|
|
margin-left: initial;
|
|
}
|
|
}
|
|
|
|
.mx_MessageTimestamp {
|
|
width: initial;
|
|
}
|
|
|
|
/**
|
|
* adding the icon back in the document flow
|
|
* if it's not present, there's no unwanted wasted space
|
|
*/
|
|
.mx_EventTile_e2eIcon {
|
|
position: relative;
|
|
order: -1;
|
|
}
|
|
}
|
|
|
|
.mx_ProfileResizer {
|
|
--resizer-width: 15px;
|
|
--resizer-a11y: 3px; /* Magic number, to be replaced with something more proper from the perspective of a11y */
|
|
|
|
position: absolute;
|
|
height: 100%;
|
|
width: var(--resizer-width);
|
|
cursor: col-resize;
|
|
z-index: 100;
|
|
|
|
/* Add width of every element rendered before the resizer (including padding for the avatar and the display
|
|
name), subtracting the resizer width itself to prevent the resizer from overlapping the text and moving
|
|
the resizer a bit to the left to make it easier to avoid selecting the resizer when highlighting text.
|
|
Please note that MessageTimestamp does not have inline padding. */
|
|
inset-inline-start: calc(
|
|
var(--RoomView_MessageList-padding) + var(--MessageTimestamp-width) + var(--icon-width) +
|
|
var(--right-padding) + var(--name-width) + var(--right-padding) - var(--resizer-width) -
|
|
var(--resizer-a11y)
|
|
);
|
|
}
|
|
}
|