mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-11 13:12:23 +09:00
1552 lines
38 KiB
CSS
1552 lines
38 KiB
CSS
/* SPDX-License-Identifier: AGPL-3.0-or-later */
|
|
|
|
:root {
|
|
--message-timestamp-color: var(--text-primary-muted);
|
|
--system-message-icon-opacity: 0.6;
|
|
|
|
--message-highlight-bar-width: 0.125rem;
|
|
--message-mention-color: rgb(234 197 50);
|
|
--message-mention-bg: rgb(234 197 50 / 0.1);
|
|
--message-mention-bg-hover: rgb(234 197 50 / 0.14);
|
|
--message-reply-color: rgb(59 130 246);
|
|
--message-reply-bg: rgb(59 130 246 / 0.1);
|
|
|
|
--message-sending-opacity: 0.5;
|
|
--message-sending-link-opacity: 0.7;
|
|
--message-failed-opacity: 0.5;
|
|
--message-replied-username-opacity: 0.64;
|
|
|
|
--message-unknown-warning-color: #ff9933;
|
|
|
|
--message-transition-highlight: 320ms cubic-bezier(0.32, 0.72, 0, 1);
|
|
}
|
|
|
|
.message {
|
|
text-align: left;
|
|
position: relative;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
touch-action: pan-y;
|
|
word-break: break-word;
|
|
-webkit-tap-highlight-color: transparent;
|
|
display: grid;
|
|
grid-template-columns: var(--chat-horizontal-padding, var(--chat-horizontal-padding-default)) var(
|
|
--message-avatar-size
|
|
) var(--message-gutter) minmax(0, 1fr);
|
|
grid-template-rows: auto auto auto;
|
|
grid-template-areas: '. . . reply' 'gutter-left avatar gutter-right content' '. . . container';
|
|
padding-block: var(--message-spacing-y);
|
|
padding-inline-end: var(--chat-horizontal-padding, var(--chat-horizontal-padding-default));
|
|
padding-inline-start: 0;
|
|
margin-inline: calc(-1 * var(--message-mobile-margin));
|
|
}
|
|
|
|
.messagePreviewSpacing {
|
|
margin-top: var(--message-group-spacing, 0px);
|
|
}
|
|
|
|
.messagePreview {
|
|
--message-media-max-width: 100%;
|
|
}
|
|
|
|
.messageHovered {
|
|
--message-hovered: 1;
|
|
}
|
|
|
|
.message::selection,
|
|
.messageCompact::selection,
|
|
.message *::selection,
|
|
.messageCompact *::selection {
|
|
background-color: var(--text-selection);
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.message {
|
|
margin-inline: calc(-1 * var(--chat-horizontal-padding, var(--chat-horizontal-padding-default)));
|
|
padding-inline-end: calc(
|
|
var(--chat-horizontal-padding, var(--chat-horizontal-padding-default)) +
|
|
var(--message-action-bar-offset)
|
|
);
|
|
}
|
|
|
|
.messagePreview {
|
|
margin-inline: 0;
|
|
padding-inline-end: var(--chat-horizontal-padding, var(--chat-horizontal-padding-default));
|
|
}
|
|
}
|
|
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.messageHovered:not(.messageMentioned):not(.messageReplying):not(.messageHighlight):not(.messagePreview),
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.messageHovered:not(.messageMentioned):not(.messageReplying):not(.messageHighlight):not(
|
|
.messagePreview
|
|
) {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.messageMentioned.messageHovered,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.messageMentioned.messageHovered {
|
|
background-color: var(--message-mention-bg-hover);
|
|
}
|
|
|
|
:global(html.reduced-motion:where(.window-focused, .unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.messageMentioned.messageHovered,
|
|
:global(html.reduced-motion:where(.window-focused, .unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.messageMentioned.messageHovered {
|
|
background-color: var(--message-mention-bg);
|
|
}
|
|
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.messageReplying.messageHovered:not(.messageMentioned),
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.messageHighlight.messageHovered:not(.messageMentioned),
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.messageReplying.messageHovered:not(.messageMentioned),
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.messageHighlight.messageHovered:not(.messageMentioned) {
|
|
background-color: var(--message-reply-bg);
|
|
}
|
|
|
|
.message.messageNoHover.messageHovered:not(.messageMentioned):not(.messageReplying):not(.messageHighlight),
|
|
.messageCompact.messageNoHover.messageHovered:not(.messageMentioned):not(.messageReplying):not(.messageHighlight) {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.message.messageNoHover.messageMentioned.messageHovered,
|
|
.messageCompact.messageNoHover.messageMentioned.messageHovered {
|
|
background-color: var(--message-mention-bg);
|
|
}
|
|
|
|
:global([data-blocked-messages]) .message.messageHovered,
|
|
:global([data-blocked-messages]) .messageCompact.messageHovered,
|
|
:global([data-blocked-messages]) .message.contextMenuActive,
|
|
:global([data-blocked-messages]) .messageCompact.contextMenuActive {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
@media (pointer: coarse) {
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message:hover,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact:hover {
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
|
|
.message.mobileLayout:hover,
|
|
.messageCompact.mobileLayout:hover {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.message.mobileLayout.messageLongPress,
|
|
.messageCompact.mobileLayout.messageLongPress {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
|
|
.messageGrouped {
|
|
grid-template-areas: '. . . reply' 'gutter-left timestamp gutter-right content' '. . . container';
|
|
|
|
grid-template-columns: var(--chat-horizontal-padding, var(--chat-horizontal-padding-default)) var(
|
|
--message-avatar-size
|
|
) var(--message-gutter) minmax(0, 1fr);
|
|
}
|
|
|
|
.messageCompact {
|
|
--message-compact-timestamp-column-width: var(--message-compact-measured-timestamp-width, max-content);
|
|
--message-compact-timestamp-calc-width: var(
|
|
--message-compact-measured-timestamp-width,
|
|
var(--message-compact-timestamp-width)
|
|
);
|
|
--message-compact-text-start: calc(
|
|
var(--message-compact-timestamp-calc-width) +
|
|
var(--message-compact-gap) +
|
|
var(--message-compact-text-indent-from-username)
|
|
);
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
word-break: break-word;
|
|
text-align: left;
|
|
-webkit-tap-highlight-color: transparent;
|
|
display: grid;
|
|
grid-template-columns: var(--message-compact-horizontal-padding) minmax(0, 1fr);
|
|
grid-template-rows: auto auto auto;
|
|
grid-template-areas: '. reply' '. content' '. container';
|
|
position: relative;
|
|
padding-block: var(--message-spacing-y);
|
|
padding-inline-start: 0;
|
|
padding-inline-end: var(--message-compact-horizontal-padding);
|
|
text-indent: 0;
|
|
margin-inline: calc(-1 * var(--chat-horizontal-padding, var(--chat-horizontal-padding-default)));
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.messageCompact {
|
|
padding-inline-end: calc(var(--message-compact-horizontal-padding) + var(--message-action-bar-offset));
|
|
}
|
|
}
|
|
|
|
.messageLongPress {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
|
|
.messageEditing {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
|
|
.messageSent {
|
|
color: var(--text-chat);
|
|
}
|
|
|
|
.messageSending {
|
|
color: var(--text-chat-muted);
|
|
opacity: var(--message-sending-opacity);
|
|
}
|
|
|
|
.messageSending a {
|
|
opacity: var(--message-sending-link-opacity);
|
|
}
|
|
|
|
.messageFailed {
|
|
--markup-link-color: var(--status-danger);
|
|
--markup-mention-color: var(--status-danger);
|
|
color: var(--status-danger);
|
|
}
|
|
|
|
.messageFailed,
|
|
.messageFailed * {
|
|
opacity: 1;
|
|
}
|
|
|
|
.messageFailed a {
|
|
color: var(--status-danger) !important;
|
|
}
|
|
|
|
.failedFooter {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
flex-wrap: wrap;
|
|
gap: var(--message-container-gap);
|
|
inline-size: 100%;
|
|
min-inline-size: 0;
|
|
justify-self: stretch;
|
|
color: var(--status-danger);
|
|
font-size: var(--message-failed-indicator-font-size);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.failedFooterMessage {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: var(--message-failed-indicator-gap);
|
|
min-inline-size: 0;
|
|
flex: 0 1 auto;
|
|
}
|
|
|
|
.failedFooterLabel {
|
|
min-inline-size: 0;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.failedFooterIcon,
|
|
.failedRetryIcon {
|
|
width: var(--message-icon-size-md);
|
|
height: var(--message-icon-size-md);
|
|
color: var(--status-danger);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.failedRetryButton {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.35rem;
|
|
padding: 0;
|
|
border: none;
|
|
background: transparent;
|
|
color: inherit;
|
|
font: inherit;
|
|
line-height: 1;
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
@media (hover: hover) {
|
|
.failedRetryButton:hover {
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
|
|
.failedRetryButton:focus-visible {
|
|
text-decoration: underline;
|
|
outline: none;
|
|
}
|
|
|
|
.message::before,
|
|
.messageCompact::before {
|
|
content: '';
|
|
display: block;
|
|
position: absolute;
|
|
inset-block: 0;
|
|
inset-inline-start: 0;
|
|
width: var(--message-highlight-bar-width);
|
|
background-color: transparent;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.messageMentioned::before {
|
|
background-color: var(--message-mention-color);
|
|
}
|
|
|
|
.messageMentioned {
|
|
background-color: var(--message-mention-bg);
|
|
}
|
|
|
|
.message.messageReplying.messageMentioned,
|
|
.messageCompact.messageReplying.messageMentioned {
|
|
background-color: var(--message-mention-bg-hover);
|
|
}
|
|
|
|
:global(html.reduced-motion) .message.messageReplying.messageMentioned,
|
|
:global(html.reduced-motion) .messageCompact.messageReplying.messageMentioned {
|
|
background-color: var(--message-mention-bg);
|
|
}
|
|
|
|
.messageReplying:not(.messageMentioned)::before,
|
|
.messageHighlight:not(.messageMentioned)::before {
|
|
background-color: var(--brand-primary-light);
|
|
}
|
|
|
|
.messageReplying:not(.messageMentioned),
|
|
.messageHighlight:not(.messageMentioned) {
|
|
background-color: var(--message-reply-bg);
|
|
transition: background-color var(--message-transition-highlight);
|
|
}
|
|
|
|
.messageGutterLeft {
|
|
grid-area: gutter-left;
|
|
}
|
|
|
|
.messageGutterRight {
|
|
grid-area: gutter-right;
|
|
}
|
|
|
|
.messageAvatar {
|
|
grid-area: avatar;
|
|
display: block;
|
|
cursor: pointer;
|
|
position: relative;
|
|
z-index: 1;
|
|
align-self: start;
|
|
margin-block-start: calc(var(--message-spacing-y) + var(--message-avatar-align-offset));
|
|
transform: none;
|
|
inline-size: var(--message-avatar-size);
|
|
block-size: var(--message-avatar-size);
|
|
}
|
|
|
|
.messageNoText .messageAvatar,
|
|
.messageNoText.messageGrouped .messageAvatar {
|
|
margin-block-start: var(--message-spacing-y);
|
|
}
|
|
|
|
.messageContent {
|
|
grid-area: content;
|
|
min-width: 0;
|
|
overflow-wrap: break-word;
|
|
align-self: start;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-inline-size: 0;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
}
|
|
|
|
.messageAuthorInfo {
|
|
margin: 0;
|
|
min-height: var(--message-line-height);
|
|
line-height: var(--message-line-height);
|
|
color: var(--text-chat-muted);
|
|
font-size: 1rem;
|
|
display: block;
|
|
min-inline-size: 0;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
}
|
|
|
|
.jumpHeading {
|
|
position: absolute;
|
|
width: 0.0625rem;
|
|
height: 0.0625rem;
|
|
padding: 0;
|
|
margin: -0.0625rem;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border: 0;
|
|
}
|
|
|
|
.jumpHeadingButton {
|
|
appearance: none;
|
|
background: transparent;
|
|
border: 0;
|
|
padding: 0;
|
|
margin: 0;
|
|
color: inherit;
|
|
font: inherit;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.messageAuthorRow {
|
|
display: inline;
|
|
max-inline-size: 100%;
|
|
white-space: nowrap;
|
|
line-height: var(--message-line-height);
|
|
min-inline-size: 0;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
}
|
|
|
|
.messageNoText {
|
|
grid-template-areas: '. . . reply' '. . . .' 'gutter-left avatar gutter-right container';
|
|
}
|
|
|
|
.messageNoText.messageGrouped {
|
|
grid-template-areas: '. . . reply' '. . . .' 'gutter-left timestamp gutter-right container';
|
|
}
|
|
|
|
.messageUsername {
|
|
display: inline;
|
|
position: relative;
|
|
cursor: pointer;
|
|
font-weight: 500;
|
|
color: var(--text-primary);
|
|
line-height: var(--message-line-height);
|
|
vertical-align: baseline;
|
|
min-inline-size: 0;
|
|
max-inline-size: none;
|
|
overflow: visible;
|
|
white-space: nowrap;
|
|
unicode-bidi: plaintext;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
}
|
|
|
|
.message,
|
|
.messageCompact,
|
|
.messageContent,
|
|
.messageText,
|
|
.messageAuthorInfo,
|
|
.messageAuthorRow,
|
|
.messageAuthorPart,
|
|
.messageUsername,
|
|
.messageTimestamp,
|
|
.messageTimestampCompact,
|
|
.messageAuthorInfoCompact,
|
|
.compactAuthorPrefix,
|
|
.copyOnly,
|
|
.compactInlineContent,
|
|
.compactInlineContent *,
|
|
.messageText :global(.markup),
|
|
.messageText :global(.markup) *,
|
|
.systemMessageContent,
|
|
.systemMessageContent * {
|
|
user-select: text !important;
|
|
-webkit-user-select: text !important;
|
|
}
|
|
|
|
.messageText [aria-hidden='true'],
|
|
.messageText [aria-hidden='true'] *,
|
|
.compactInlineContent [aria-hidden='true'],
|
|
.compactInlineContent [aria-hidden='true'] * {
|
|
user-select: none !important;
|
|
-webkit-user-select: none !important;
|
|
}
|
|
|
|
.contextMenuUnderline {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.messageAuthorPart {
|
|
display: inline;
|
|
vertical-align: baseline;
|
|
line-height: var(--message-line-height);
|
|
min-inline-size: 0;
|
|
max-inline-size: 100%;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
}
|
|
|
|
.messageAuthorPart > * {
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
.messageTimeoutIndicator {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
margin-inline-end: 0.25rem;
|
|
color: var(--accent-danger);
|
|
}
|
|
|
|
.messageTimeoutIndicator svg {
|
|
display: block;
|
|
}
|
|
|
|
@media (hover: hover) {
|
|
.messageUsername:hover {
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
|
|
.messageTimestamp,
|
|
.messageTimestampCompact {
|
|
cursor: default;
|
|
vertical-align: baseline;
|
|
font-weight: 400;
|
|
color: var(--message-timestamp-color);
|
|
line-height: var(--message-line-height);
|
|
unicode-bidi: isolate;
|
|
}
|
|
|
|
.messageTimestamp {
|
|
display: inline;
|
|
font-size: var(--message-timestamp-font-size);
|
|
line-height: var(--message-line-height);
|
|
color: color-mix(in srgb, var(--message-timestamp-color) 60%, transparent);
|
|
margin-inline-start: 0.15rem;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.copyOnly {
|
|
display: inline-block;
|
|
width: 0;
|
|
height: 0;
|
|
overflow: visible;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
vertical-align: middle;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
white-space: pre;
|
|
}
|
|
|
|
.textSeparator {
|
|
display: inline;
|
|
vertical-align: baseline;
|
|
font-size: 0;
|
|
line-height: 0;
|
|
margin: 0 0.2rem;
|
|
padding: 0;
|
|
border: none;
|
|
}
|
|
|
|
.authorDashSeparator {
|
|
display: inline;
|
|
vertical-align: baseline;
|
|
color: transparent;
|
|
font-size: 0;
|
|
line-height: 0;
|
|
white-space: nowrap;
|
|
margin: 0 0.15rem;
|
|
padding: 0;
|
|
border: none;
|
|
}
|
|
|
|
.messageTimestampHover,
|
|
.messageTimestampCompactHover {
|
|
color: var(--message-timestamp-color);
|
|
font-size: var(--message-timestamp-compact-font-size);
|
|
font-weight: 500;
|
|
line-height: var(--message-line-height);
|
|
unicode-bidi: isolate;
|
|
}
|
|
|
|
.messageTimestampHover {
|
|
grid-area: timestamp;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
width: var(--message-avatar-size);
|
|
height: var(--message-line-height);
|
|
text-align: right;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
white-space: nowrap;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transform: translateX(0.5rem);
|
|
}
|
|
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.messageHovered
|
|
.messageTimestampHover {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
@media (pointer: coarse) {
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message:hover
|
|
.messageTimestampHover {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
.messageAuthorInfoCompact {
|
|
position: relative;
|
|
display: inline;
|
|
min-height: var(--message-line-height);
|
|
color: var(--text-chat-muted);
|
|
line-height: var(--message-line-height);
|
|
white-space: nowrap;
|
|
text-indent: 0;
|
|
vertical-align: baseline;
|
|
margin: 0;
|
|
margin-inline-end: var(--message-compact-username-gap);
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
}
|
|
|
|
.messageTimestampCompact {
|
|
margin-inline-end: var(--message-compact-gap);
|
|
width: max-content;
|
|
height: var(--message-timestamp-compact-height);
|
|
font-size: var(--message-timestamp-compact-font-size);
|
|
text-align: left;
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
line-height: var(--message-line-height);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.messageAvatarCompact {
|
|
margin-inline-end: var(--message-compact-gap);
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.messageTimestampCompactHover {
|
|
margin-inline-end: var(--message-compact-gap);
|
|
width: max-content;
|
|
height: var(--message-timestamp-compact-height);
|
|
font-size: var(--message-timestamp-compact-font-size);
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
line-height: var(--message-line-height);
|
|
cursor: default;
|
|
text-align: left;
|
|
flex-shrink: 0;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.compactContentWrapper > .messageTimestampCompact,
|
|
.compactContentWrapper > .messageTimestampCompactHover {
|
|
grid-column: 1;
|
|
margin-inline-end: 0;
|
|
}
|
|
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.messageHovered
|
|
.messageTimestampCompactHover {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
@media (pointer: coarse) {
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact:hover
|
|
.messageTimestampCompactHover {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
.messageText {
|
|
position: relative;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
overflow: hidden;
|
|
padding-block-end: 0.0625rem;
|
|
line-height: var(--message-line-height);
|
|
white-space: break-spaces;
|
|
word-break: break-word;
|
|
min-inline-size: 0;
|
|
}
|
|
|
|
.message .buttons,
|
|
.messageCompact .buttons {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.messageHovered
|
|
.buttons,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message
|
|
.buttons:hover,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message
|
|
.buttons:has(:focus-visible),
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.selected
|
|
.buttons,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message
|
|
.buttons.emojiPickerOpen,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.messageHovered
|
|
.buttons,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact
|
|
.buttons:hover,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact
|
|
.buttons:has(:focus-visible),
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.selected
|
|
.buttons,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact
|
|
.buttons.emojiPickerOpen {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
@media (pointer: coarse) {
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message:hover
|
|
.buttons,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact:hover
|
|
.buttons {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
.message .hoverAction,
|
|
.messageCompact .hoverAction {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.messageHovered
|
|
.hoverAction,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message.contextMenuActive
|
|
.hoverAction,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.messageHovered
|
|
.hoverAction,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact.contextMenuActive
|
|
.hoverAction {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
@media (pointer: coarse) {
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.message:hover
|
|
.hoverAction,
|
|
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
|
|
.messageCompact:hover
|
|
.hoverAction {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
:global(html:not(.window-focused):not(.unfocused-fully-interactive)) .message .buttons,
|
|
:global(html:not(.window-focused):not(.unfocused-fully-interactive)) .messageCompact .buttons,
|
|
:global(.window-focus-activation-guard) .message .buttons,
|
|
:global(.window-focus-activation-guard) .messageCompact .buttons,
|
|
:global(html:not(.window-focused):not(.unfocused-fully-interactive)) .message .hoverAction,
|
|
:global(html:not(.window-focused):not(.unfocused-fully-interactive)) .messageCompact .hoverAction,
|
|
:global(.window-focus-activation-guard) .message .hoverAction,
|
|
:global(.window-focus-activation-guard) .messageCompact .hoverAction,
|
|
:global(html:not(.window-focused):not(.unfocused-fully-interactive)) .messageTimestampHover,
|
|
:global(html:not(.window-focused):not(.unfocused-fully-interactive)) .messageTimestampCompactHover,
|
|
:global(.window-focus-activation-guard) .messageTimestampHover,
|
|
:global(.window-focus-activation-guard) .messageTimestampCompactHover {
|
|
opacity: 0 !important;
|
|
pointer-events: none !important;
|
|
}
|
|
|
|
.container {
|
|
grid-area: container;
|
|
height: fit-content;
|
|
display: grid;
|
|
grid-auto-flow: row;
|
|
row-gap: var(--message-container-gap);
|
|
grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
|
|
text-indent: 0;
|
|
min-height: 0;
|
|
min-width: 0;
|
|
max-width: 100%;
|
|
padding-block: var(--message-container-padding-y);
|
|
position: relative;
|
|
}
|
|
|
|
.container:empty {
|
|
display: none;
|
|
}
|
|
|
|
.container > * {
|
|
justify-self: start;
|
|
align-self: start;
|
|
}
|
|
|
|
.messageNoText .container {
|
|
padding-block-start: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--message-container-padding-y);
|
|
}
|
|
|
|
.repliedMessage {
|
|
--reply-spacing: var(--message-reply-spacing);
|
|
--reply-height: var(--message-reply-height);
|
|
--reply-spine-color: color-mix(in srgb, var(--text-chat-muted) 82%, black);
|
|
--reply-spine-radius: 0.625rem;
|
|
--reply-spine-terminal-gap: 0.1875rem;
|
|
grid-area: reply;
|
|
margin-bottom: var(--reply-spacing);
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
min-width: 0;
|
|
max-width: 100%;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
font-size: var(--message-reply-font-size);
|
|
color: var(--text-primary-muted);
|
|
line-height: var(--reply-height);
|
|
}
|
|
|
|
.repliedMessage:before {
|
|
--avatar-size: var(--message-avatar-size);
|
|
--gutter: var(--message-gutter);
|
|
--spine-width: var(--message-reply-spine-width);
|
|
content: '';
|
|
display: block;
|
|
position: absolute;
|
|
box-sizing: border-box;
|
|
top: 50%;
|
|
bottom: calc(-1 * (var(--reply-spacing) + var(--reply-spine-terminal-gap)));
|
|
right: calc(100% + var(--reply-spine-terminal-gap));
|
|
left: calc(-1 * (0.5 * var(--avatar-size) + var(--gutter)));
|
|
margin-block-start: calc(-0.5 * var(--spine-width));
|
|
margin-inline-start: 0;
|
|
border-color: var(--reply-spine-color);
|
|
border-width: var(--spine-width) 0 0 var(--spine-width);
|
|
border-style: solid;
|
|
border-top-left-radius: var(--reply-spine-radius);
|
|
}
|
|
|
|
.repliedMessageCompact {
|
|
--compact-reply-spine-inline-offset: 0.25rem;
|
|
--compact-reply-spine-terminal-gap: var(--reply-spine-terminal-gap);
|
|
--reply-spacing: 0.0625rem;
|
|
--compact-message-body-start: calc(var(--message-compact-timestamp-calc-width) + var(--message-compact-gap));
|
|
--compact-reply-content-start: var(--compact-message-body-start);
|
|
--compact-reply-spine-center: var(--compact-reply-spine-inline-offset);
|
|
--compact-reply-spine-run: calc(
|
|
var(--compact-message-body-start) -
|
|
var(--compact-reply-spine-inline-offset) -
|
|
var(--compact-reply-spine-terminal-gap)
|
|
);
|
|
text-indent: 0;
|
|
box-sizing: border-box;
|
|
padding-inline-start: var(--compact-reply-content-start);
|
|
margin-inline-start: 0;
|
|
position: relative;
|
|
}
|
|
|
|
.repliedMessageCompact:before {
|
|
--spine-width: var(--message-reply-spine-width);
|
|
content: '';
|
|
display: block;
|
|
position: absolute;
|
|
box-sizing: border-box;
|
|
top: 50%;
|
|
bottom: calc(-1 * (var(--reply-spacing) + var(--compact-reply-spine-terminal-gap)));
|
|
inset-inline-start: var(--compact-reply-spine-center);
|
|
inline-size: max(0px, var(--compact-reply-spine-run));
|
|
margin-block-start: calc(-0.5 * var(--spine-width));
|
|
margin-inline-start: 0;
|
|
border-color: var(--reply-spine-color);
|
|
border-width: var(--spine-width) 0 0 var(--spine-width);
|
|
border-style: solid;
|
|
border-top-left-radius: var(--reply-spine-radius);
|
|
}
|
|
|
|
.repliedTextPreview {
|
|
display: block;
|
|
flex: 1 1 0;
|
|
min-width: 0;
|
|
block-size: var(--reply-height);
|
|
max-block-size: var(--reply-height);
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
box-sizing: border-box;
|
|
line-height: var(--reply-height);
|
|
padding-block: 0;
|
|
overflow-x: hidden;
|
|
overflow-y: hidden;
|
|
}
|
|
|
|
.repliedTextPreview:hover {
|
|
color: var(--text-chat);
|
|
}
|
|
|
|
@media (pointer: coarse) {
|
|
.repliedTextPreview:hover {
|
|
color: inherit;
|
|
}
|
|
}
|
|
|
|
.repliedAvatar {
|
|
margin-inline-end: var(--message-container-gap);
|
|
flex-shrink: 0;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
}
|
|
|
|
.repliedIconContainer {
|
|
margin-inline-end: var(--message-container-gap);
|
|
display: flex;
|
|
height: var(--message-icon-size-md);
|
|
width: var(--message-icon-size-md);
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
border-radius: 50%;
|
|
background-color: var(--background-primary);
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.repliedIcon {
|
|
height: 0.45rem;
|
|
width: 0.675rem;
|
|
}
|
|
|
|
.repliedUsername {
|
|
position: relative;
|
|
margin-inline-end: calc(var(--message-compact-username-gap) - 0.125rem);
|
|
display: inline;
|
|
flex-shrink: 0;
|
|
cursor: pointer;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
max-width: 30%;
|
|
vertical-align: baseline;
|
|
unicode-bidi: plaintext;
|
|
font-weight: 500;
|
|
color: color-mix(
|
|
in srgb,
|
|
var(--replied-username-color, var(--text-primary))
|
|
clamp(0%, calc(var(--message-replied-username-opacity) * 100%), 100%),
|
|
transparent
|
|
);
|
|
line-height: inherit;
|
|
}
|
|
|
|
@media (hover: hover) {
|
|
.repliedUsername:hover {
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
|
|
.repliedItalic {
|
|
padding-inline-end: var(--message-reply-spine-width);
|
|
font-style: italic;
|
|
}
|
|
|
|
.unstyled {
|
|
all: unset;
|
|
display: block;
|
|
flex: 1 1 0;
|
|
min-width: 0;
|
|
block-size: var(--reply-height);
|
|
max-block-size: var(--reply-height);
|
|
box-sizing: border-box;
|
|
line-height: var(--reply-height);
|
|
padding-block: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.unstyled:not(:disabled) {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.repliedTextContent {
|
|
--markup-restricted-inline-icon-baseline-shift: -0.125em;
|
|
--markup-restricted-inline-emoji-size: var(--reply-height);
|
|
--markup-restricted-inline-emoji-baseline-shift: bottom;
|
|
display: inline;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.repliedTextContent,
|
|
.repliedTextContent * {
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
.repliedMessage .repliedTextPreview .repliedTextContent {
|
|
color: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
pointer-events: none;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
}
|
|
|
|
.repliedTextContent :global(.emoji) {
|
|
width: var(--markup-restricted-inline-emoji-size);
|
|
height: var(--markup-restricted-inline-emoji-size);
|
|
min-height: 0;
|
|
margin-block: 0;
|
|
vertical-align: var(--markup-restricted-inline-emoji-baseline-shift);
|
|
}
|
|
|
|
.repliedTextContent :global(.emoji:not(img)) {
|
|
font-size: var(--markup-restricted-inline-emoji-size);
|
|
line-height: 1;
|
|
}
|
|
|
|
.repliedTextContent h1,
|
|
.repliedTextContent h2,
|
|
.repliedTextContent h3,
|
|
.repliedTextContent h4,
|
|
.repliedTextContent h5,
|
|
.repliedTextContent h6,
|
|
.repliedTextContent p,
|
|
.repliedTextContent div:not([data-jump-link-guild-icon]),
|
|
.repliedTextContent ul,
|
|
.repliedTextContent ol,
|
|
.repliedTextContent li,
|
|
.repliedTextContent blockquote,
|
|
.repliedTextContent table {
|
|
display: inline !important;
|
|
margin: 0 !important;
|
|
padding: 0 !important;
|
|
border: none !important;
|
|
background: none !important;
|
|
font-size: inherit !important;
|
|
font-weight: inherit !important;
|
|
line-height: inherit !important;
|
|
white-space: nowrap !important;
|
|
overflow: visible !important;
|
|
}
|
|
|
|
.repliedTextContent pre,
|
|
.repliedTextContent code {
|
|
display: inline !important;
|
|
margin: 0 !important;
|
|
padding: 0 !important;
|
|
border: none !important;
|
|
background: none !important;
|
|
font-weight: inherit !important;
|
|
line-height: inherit !important;
|
|
white-space: nowrap !important;
|
|
overflow: visible !important;
|
|
}
|
|
|
|
.repliedTextContent pre::before,
|
|
.repliedTextContent pre::after {
|
|
content: none !important;
|
|
display: none !important;
|
|
}
|
|
|
|
.systemMessageFollowsSystem {
|
|
margin-block-start: calc(var(--message-group-spacing, 1rem) / 4);
|
|
}
|
|
|
|
.systemMessageIconWrapper {
|
|
grid-area: avatar;
|
|
display: flex;
|
|
align-self: flex-start;
|
|
align-items: flex-start;
|
|
justify-content: center;
|
|
padding-block-start: 0.15em;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
}
|
|
|
|
.systemMessageIconCompact {
|
|
grid-column: 3;
|
|
margin-inline-end: 0;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: var(--system-message-icon-size);
|
|
width: var(--system-message-icon-size);
|
|
flex-shrink: 0;
|
|
vertical-align: text-bottom;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
}
|
|
|
|
.systemMessageContent {
|
|
grid-area: content;
|
|
min-width: 0;
|
|
overflow-wrap: break-word;
|
|
position: relative;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
overflow: hidden;
|
|
white-space: normal;
|
|
word-break: break-word;
|
|
color: var(--text-tertiary);
|
|
line-height: var(--message-line-height);
|
|
}
|
|
|
|
.systemMessageTimestamp {
|
|
margin-inline-start: 0.25rem;
|
|
position: relative;
|
|
top: -0.125rem;
|
|
color: color-mix(in srgb, var(--message-timestamp-color) 60%, transparent);
|
|
}
|
|
|
|
.systemMessageContentWrapper {
|
|
grid-column: 5;
|
|
min-inline-size: 0;
|
|
}
|
|
|
|
.systemMessageCompactContent .systemMessageContent {
|
|
display: block;
|
|
text-indent: 0;
|
|
}
|
|
|
|
.systemMessageCompactContent {
|
|
grid-area: content;
|
|
display: grid;
|
|
grid-template-columns:
|
|
max-content
|
|
var(--message-compact-gap)
|
|
var(--system-message-icon-size)
|
|
var(--message-compact-gap)
|
|
minmax(0, 1fr);
|
|
align-items: baseline;
|
|
min-inline-size: 0;
|
|
text-indent: 0;
|
|
color: var(--text-tertiary);
|
|
line-height: var(--message-line-height);
|
|
}
|
|
|
|
.systemMessageCompactContent .messageTimestampCompact {
|
|
grid-column: 1;
|
|
display: inline-block;
|
|
width: max-content;
|
|
vertical-align: baseline;
|
|
text-align: left;
|
|
}
|
|
|
|
.systemMessageContent .container {
|
|
margin-inline-start: var(--message-compact-container-margin);
|
|
}
|
|
|
|
.systemMessageCompactContent .container {
|
|
text-indent: 0;
|
|
margin-inline-start: 0;
|
|
}
|
|
|
|
.systemMessageIconSvg {
|
|
height: var(--system-message-icon-size);
|
|
width: var(--system-message-icon-size);
|
|
opacity: var(--system-message-icon-opacity);
|
|
}
|
|
|
|
.systemMessageIconCompact .systemMessageIconSvg {
|
|
height: var(--system-message-icon-size);
|
|
width: var(--system-message-icon-size);
|
|
opacity: 1;
|
|
}
|
|
|
|
.systemMessageLink {
|
|
position: relative;
|
|
display: inline;
|
|
cursor: pointer;
|
|
border: none;
|
|
background-color: transparent;
|
|
padding: 0;
|
|
overflow: hidden;
|
|
vertical-align: baseline;
|
|
font-weight: 500;
|
|
color: var(--text-primary);
|
|
line-height: var(--message-line-height);
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
}
|
|
|
|
@media (hover: hover) {
|
|
.systemMessageLink:hover {
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
|
|
.messageAssistiveText {
|
|
border: 0;
|
|
clip: rect(0 0 0 0);
|
|
height: 0.0625rem;
|
|
margin: -0.0625rem;
|
|
overflow: hidden;
|
|
padding: 0;
|
|
position: absolute;
|
|
width: 0.0625rem;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.messageAuthorInfoCompact .messageUsername {
|
|
margin-inline-end: 0;
|
|
}
|
|
|
|
.userTagOffset {
|
|
margin-inline-start: 0.35rem;
|
|
vertical-align: middle;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.userTagCompact {
|
|
margin-inline-end: var(--message-compact-gap);
|
|
flex-shrink: 0;
|
|
vertical-align: middle;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.editedTimestamp {
|
|
margin-inline-start: 0.0625rem;
|
|
display: inline-block;
|
|
height: var(--message-timestamp-compact-height);
|
|
cursor: default;
|
|
vertical-align: baseline;
|
|
font-weight: 600;
|
|
color: var(--text-chat-muted);
|
|
font-size: var(--message-edited-font-size);
|
|
line-height: var(--message-line-height);
|
|
}
|
|
|
|
.editedLabel {
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
font-weight: normal;
|
|
font-size: var(--message-edited-label-font-size);
|
|
line-height: normal;
|
|
}
|
|
|
|
.typingContainer {
|
|
display: flex;
|
|
align-items: center;
|
|
overflow: visible;
|
|
gap: var(--message-typing-gap);
|
|
max-height: none;
|
|
}
|
|
|
|
.typingCluster {
|
|
display: grid;
|
|
grid-template-columns: calc(var(--textarea-button-height, 2rem) + var(--textarea-side-button-padding, 0.25rem) * 2) minmax(
|
|
0,
|
|
1fr
|
|
);
|
|
column-gap: var(--textarea-upload-gap, 0.75rem);
|
|
align-items: center;
|
|
pointer-events: none;
|
|
flex: 1 1 auto;
|
|
min-width: 0;
|
|
width: 100%;
|
|
}
|
|
|
|
.typingPill {
|
|
position: relative;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0;
|
|
min-height: var(--typing-pill-height);
|
|
padding: 0 0.35rem;
|
|
border-radius: var(--radius-xl);
|
|
background-color: var(--background-tertiary);
|
|
border: 0.0625rem solid color-mix(in srgb, var(--background-modifier-accent) 80%, transparent);
|
|
pointer-events: auto;
|
|
grid-column: 1 / -1;
|
|
justify-self: flex-start;
|
|
margin-inline-start: 0;
|
|
}
|
|
|
|
:global(.theme-light) .typingPill {
|
|
background-color: var(--brand-primary);
|
|
border: none;
|
|
color: var(--text-on-brand-primary);
|
|
--typing-indicator-color: var(--text-on-brand-primary);
|
|
}
|
|
|
|
.typingIndicator {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
height: var(--typing-pill-height);
|
|
}
|
|
|
|
.typingAvatarContainer {
|
|
height: var(--typing-pill-height);
|
|
margin-inline: 0;
|
|
--avatar-stack-padding-block-start: 0px;
|
|
--avatar-stack-padding-block-end: 0px;
|
|
--avatar-stack-extra-height: 0px;
|
|
--avatar-stack-outline-color: var(--background-tertiary);
|
|
}
|
|
|
|
.typingIndicator + .typingAvatarContainer,
|
|
.typingIndicator + .typingText {
|
|
margin-inline-start: 0.375rem;
|
|
}
|
|
|
|
.typingAvatarContainer + .typingText {
|
|
margin-inline-start: 0.5rem;
|
|
}
|
|
|
|
.typingText {
|
|
min-width: 0;
|
|
flex: 0 1 auto;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
font-size: 0.75rem;
|
|
line-height: var(--typing-pill-height);
|
|
}
|
|
|
|
.typingClusterComposerStatus {
|
|
display: inline-flex;
|
|
grid-template-columns: none;
|
|
column-gap: 0;
|
|
width: auto;
|
|
max-width: 100%;
|
|
flex: 0 1 auto;
|
|
}
|
|
|
|
.typingClusterComposerStatus .typingAvatarContainer {
|
|
--avatar-stack-outline-color: var(--composer-surface-color, var(--background-secondary-lighter));
|
|
}
|
|
|
|
.compactContentWrapper {
|
|
grid-area: content;
|
|
display: grid;
|
|
grid-template-columns: var(--message-compact-timestamp-column-width) var(--message-compact-gap) minmax(0, 1fr);
|
|
align-items: baseline;
|
|
min-inline-size: 0;
|
|
line-height: var(--message-line-height);
|
|
overflow: visible;
|
|
}
|
|
|
|
.compactContentNoPrefix {
|
|
grid-template-columns: minmax(0, 1fr);
|
|
}
|
|
|
|
.compactBody {
|
|
grid-column: 3;
|
|
min-inline-size: 0;
|
|
overflow-wrap: break-word;
|
|
}
|
|
|
|
.compactContentNoPrefix .compactBody {
|
|
grid-column: 1;
|
|
}
|
|
|
|
.compactAuthorPrefix {
|
|
display: inline;
|
|
margin-inline-end: var(--message-compact-username-gap);
|
|
white-space: nowrap;
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
}
|
|
|
|
.compactInlineContent {
|
|
display: block;
|
|
min-inline-size: 0;
|
|
max-inline-size: 100%;
|
|
padding-inline-start: var(--message-compact-text-indent-from-username);
|
|
text-indent: calc(-1 * var(--message-compact-text-indent-from-username));
|
|
user-select: text;
|
|
-webkit-user-select: text;
|
|
}
|
|
|
|
.compactInlineContent .compactAuthorPrefix,
|
|
.compactInlineContent :global([data-markdown-block]) {
|
|
text-indent: 0;
|
|
}
|
|
|
|
.unknownMessageCompactContent .unknownMessageWarning {
|
|
display: inline-flex;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
.compactInlineContent .editedTimestamp {
|
|
display: inline;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
.messageCompact > .container {
|
|
grid-area: container;
|
|
text-indent: 0;
|
|
margin-inline-start: var(--message-compact-text-start);
|
|
max-inline-size: calc(100% - var(--message-compact-text-start));
|
|
padding-block-start: 0;
|
|
row-gap: 0.125rem;
|
|
}
|
|
|
|
.messageCompact > .container :global([class*='reactionsGrid']) {
|
|
padding-top: 0.0625rem;
|
|
}
|
|
|
|
.messageCompact > .compactContentWrapper:not(:has(.compactBody > *)) + .container {
|
|
padding-block-start: 0;
|
|
}
|
|
|
|
.messageCompact > .systemMessageCompactContent + .container {
|
|
margin-inline-start: var(--message-compact-text-start);
|
|
max-inline-size: calc(100% - var(--message-compact-text-start));
|
|
}
|
|
|
|
.contextMenuActive {
|
|
background-color: var(--background-modifier-hover) !important;
|
|
}
|
|
|
|
:global(html.reduced-motion) .contextMenuActive {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
.contextMenuActive .buttons {
|
|
opacity: 1 !important;
|
|
pointer-events: auto !important;
|
|
}
|
|
|
|
.contextMenuActive .messageTimestampHover {
|
|
opacity: 1 !important;
|
|
pointer-events: auto !important;
|
|
}
|
|
|
|
.contextMenuActive .messageTimestampCompactHover {
|
|
opacity: 1 !important;
|
|
pointer-events: auto !important;
|
|
}
|
|
|
|
.contextMenuActive.messageMentioned {
|
|
background-color: var(--message-mention-bg-hover) !important;
|
|
}
|
|
|
|
:global(html.reduced-motion) .contextMenuActive.messageMentioned {
|
|
background-color: var(--message-mention-bg) !important;
|
|
}
|
|
|
|
.contextMenuActive.messageReplying:not(.messageMentioned),
|
|
.contextMenuActive.messageHighlight:not(.messageMentioned) {
|
|
background-color: var(--message-reply-bg) !important;
|
|
}
|
|
|
|
:global(html.reduced-motion) .contextMenuActive.messageReplying:not(.messageMentioned),
|
|
:global(html.reduced-motion) .contextMenuActive.messageHighlight:not(.messageMentioned) {
|
|
background-color: var(--message-reply-bg) !important;
|
|
}
|
|
|
|
.keyboardFocused {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
|
|
.keyboardFocused.messageMentioned {
|
|
background-color: var(--message-mention-bg);
|
|
}
|
|
|
|
.keyboardFocused.messageReplying:not(.messageMentioned),
|
|
.keyboardFocused.messageHighlight:not(.messageMentioned) {
|
|
background-color: var(--message-reply-bg);
|
|
}
|
|
|
|
.keyboardFocused .buttons {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.keyboardFocused .hoverAction {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.keyboardFocused .messageTimestampHover {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.keyboardFocused .messageTimestampCompactHover {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.messageClientSystem::before {
|
|
background-color: var(--brand-primary-light);
|
|
}
|
|
|
|
.messageClientSystem,
|
|
.messageClientSystem:hover {
|
|
background-color: var(--message-reply-bg) !important;
|
|
}
|
|
|
|
.unknownMessageWarning {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--message-container-gap);
|
|
color: var(--message-unknown-warning-color);
|
|
}
|
|
|
|
.systemMessageContainer {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--message-container-gap);
|
|
padding-block: var(--message-container-gap);
|
|
color: var(--text-tertiary);
|
|
font-size: var(--message-timestamp-font-size);
|
|
}
|
|
|
|
.systemMessageIcon {
|
|
height: var(--message-icon-size-lg);
|
|
width: var(--message-icon-size-lg);
|
|
}
|
|
|
|
.mediaFocusRing {
|
|
z-index: 20;
|
|
}
|
|
|
|
.systemMessageDismissButton {
|
|
color: var(--text-link);
|
|
}
|
|
|
|
@media (hover: hover) {
|
|
.systemMessageDismissButton:hover {
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
|
|
.silentMessageIcon {
|
|
margin-inline-start: 0.25rem;
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
color: var(--text-chat-muted);
|
|
height: 0.875rem;
|
|
width: 0.875rem;
|
|
align-self: center;
|
|
}
|