2018-04-12 00:23:35 +01:00
|
|
|
/*
|
2024-09-09 14:57:16 +01:00
|
|
|
Copyright 2018-2024 New Vector Ltd.
|
2018-04-12 00:23:35 +01:00
|
|
|
Copyright 2015, 2016 OpenMarket Ltd
|
|
|
|
|
|
2025-01-06 11:18:54 +00:00
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
|
2024-09-09 14:57:16 +01:00
|
|
|
Please see LICENSE files in the repository root for full details.
|
2018-04-12 00:23:35 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_wrapper {
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
margin: auto;
|
|
|
|
|
border-top: 1px solid $primary-hairline-color;
|
|
|
|
|
position: relative;
|
2022-06-27 09:43:58 +01:00
|
|
|
padding-left: 42px;
|
|
|
|
|
padding-right: 16px;
|
|
|
|
|
}
|
2018-04-12 00:23:35 +01:00
|
|
|
|
2022-06-27 09:43:58 +01:00
|
|
|
.mx_MessageComposer_replaced_wrapper {
|
|
|
|
|
margin-left: auto;
|
|
|
|
|
margin-right: auto;
|
|
|
|
|
}
|
2018-08-21 15:56:56 +01:00
|
|
|
|
2022-06-27 09:43:58 +01:00
|
|
|
.mx_MessageComposer_replaced_valign {
|
|
|
|
|
height: 60px;
|
|
|
|
|
display: table-cell;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
}
|
2022-06-08 15:02:15 +01:00
|
|
|
|
2022-06-27 09:43:58 +01:00
|
|
|
.mx_MessageComposer_roomReplaced_icon {
|
|
|
|
|
float: left;
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
margin-top: 5px;
|
|
|
|
|
width: 31px;
|
|
|
|
|
height: 31px;
|
|
|
|
|
}
|
2018-08-21 15:56:56 +01:00
|
|
|
|
2022-06-27 09:43:58 +01:00
|
|
|
.mx_MessageComposer_roomReplaced_header {
|
|
|
|
|
font-weight: bold;
|
2018-08-21 15:56:56 +01:00
|
|
|
}
|
|
|
|
|
|
2018-04-12 00:23:35 +01:00
|
|
|
.mx_MessageComposer_autocomplete_wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
height: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_row {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
align-items: center;
|
2022-06-27 09:43:58 +01:00
|
|
|
width: 100%;
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
|
|
|
|
|
2022-11-04 16:36:50 +01:00
|
|
|
.mx_MessageComposer_actions {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 6px;
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-03 22:05:18 +00:00
|
|
|
.mx_MessageComposer {
|
|
|
|
|
.mx_MessageComposer_avatar {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 26px;
|
2018-04-12 00:23:35 +01:00
|
|
|
|
2023-05-03 22:05:18 +00:00
|
|
|
.mx_BaseAvatar {
|
|
|
|
|
display: block;
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_composecontrols {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
2024-01-18 20:18:29 +05:30
|
|
|
.mx_MessageComposer_e2eIconWrapper {
|
|
|
|
|
height: 12px; /* Match the height of the E2E icon for alignment */
|
|
|
|
|
}
|
2019-02-01 13:40:42 +01:00
|
|
|
.mx_MessageComposer_e2eIcon.mx_E2EIcon {
|
2022-06-27 09:43:58 +01:00
|
|
|
position: absolute;
|
|
|
|
|
left: 20px;
|
2022-07-27 14:39:29 +01:00
|
|
|
margin-right: 0; /* Counteract the E2EIcon class */
|
|
|
|
|
margin-left: 3px; /* Counteract the E2EIcon class */
|
2020-07-13 23:56:25 +01:00
|
|
|
width: 12px;
|
|
|
|
|
height: 12px;
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_noperm_error {
|
2022-06-27 09:43:58 +01:00
|
|
|
width: 100%;
|
|
|
|
|
height: 60px;
|
2018-04-12 00:23:35 +01:00
|
|
|
font-style: italic;
|
2022-06-27 09:43:58 +01:00
|
|
|
color: $info-plinth-fg-color;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_input_wrapper {
|
|
|
|
|
flex: 1;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
2018-06-23 16:40:53 +01:00
|
|
|
cursor: text;
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_input {
|
|
|
|
|
flex: 1;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
min-height: 60px;
|
2019-12-22 20:56:19 -07:00
|
|
|
justify-content: flex-start;
|
2018-04-12 00:23:35 +01:00
|
|
|
align-items: flex-start;
|
2023-06-29 11:30:25 +01:00
|
|
|
font: var(--cpd-font-body-md-regular);
|
2018-04-12 00:23:35 +01:00
|
|
|
margin-right: 6px;
|
2023-05-03 22:05:18 +00:00
|
|
|
|
|
|
|
|
pre {
|
|
|
|
|
background-color: $rte-code-bg-color;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
textarea {
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
padding: 0px;
|
|
|
|
|
margin-top: 6px;
|
|
|
|
|
margin-bottom: 6px;
|
|
|
|
|
border: 0px;
|
|
|
|
|
resize: none;
|
|
|
|
|
outline: none;
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
color: $primary-content;
|
|
|
|
|
background-color: $background;
|
2023-06-29 11:30:25 +01:00
|
|
|
font: var(--cpd-font-body-md-regular);
|
2023-05-03 22:05:18 +00:00
|
|
|
max-height: 120px;
|
|
|
|
|
overflow: auto;
|
|
|
|
|
|
|
|
|
|
/* hack for FF as vertical alignment of custom placeholder text is broken */
|
|
|
|
|
&::-moz-placeholder {
|
|
|
|
|
line-height: 100%;
|
|
|
|
|
color: $accent;
|
|
|
|
|
opacity: 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&::-webkit-input-placeholder {
|
|
|
|
|
color: $accent;
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
|
|
|
|
|
2018-05-06 01:18:26 +01:00
|
|
|
.mx_MessageComposer_editor {
|
|
|
|
|
width: 100%;
|
|
|
|
|
max-height: 120px;
|
2018-05-08 01:54:06 +01:00
|
|
|
min-height: 19px;
|
2019-01-30 12:53:15 +01:00
|
|
|
overflow-y: auto;
|
|
|
|
|
overflow-x: hidden;
|
2018-05-23 01:43:03 +01:00
|
|
|
word-break: break-word;
|
2018-05-06 01:18:26 +01:00
|
|
|
|
2023-05-03 22:05:18 +00:00
|
|
|
/* FIXME: rather unpleasant hack to get rid of <p/> margins. */
|
2024-06-13 17:27:37 +01:00
|
|
|
/* really we should be mixing in markdown-body from github-markdown-css instead */
|
2023-05-03 22:05:18 +00:00
|
|
|
> :first-child {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
> :last-child {
|
|
|
|
|
margin-bottom: 0 !important;
|
|
|
|
|
}
|
2018-05-19 20:28:38 +01:00
|
|
|
}
|
|
|
|
|
|
2019-07-09 18:15:10 +01:00
|
|
|
@keyframes visualbell {
|
2022-06-27 09:43:58 +01:00
|
|
|
from {
|
|
|
|
|
background-color: $visual-bell-bg-color;
|
|
|
|
|
}
|
|
|
|
|
to {
|
|
|
|
|
background-color: $background;
|
|
|
|
|
}
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_input_error {
|
|
|
|
|
animation: 0.2s visualbell;
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-28 17:13:58 +01:00
|
|
|
.mx_MessageComposer_button_highlight {
|
2022-11-04 16:36:50 +01:00
|
|
|
@mixin composerButtonHighLight;
|
2020-07-28 17:13:58 +01:00
|
|
|
}
|
|
|
|
|
|
2019-02-12 18:05:19 +00:00
|
|
|
.mx_MessageComposer_button {
|
2024-03-18 11:47:55 -04:00
|
|
|
@mixin composerButton 50%, var(--cpd-color-icon-primary), var(--cpd-color-bg-subtle-primary);
|
2021-09-22 11:55:25 +01:00
|
|
|
|
2022-05-04 17:22:09 +02:00
|
|
|
&:last-child {
|
|
|
|
|
margin-right: auto;
|
2021-09-22 11:55:25 +01:00
|
|
|
}
|
2019-11-01 14:46:30 +00:00
|
|
|
|
2021-09-09 13:27:25 +01:00
|
|
|
&.mx_MessageComposer_closeButtonMenu {
|
2021-09-07 17:10:09 +01:00
|
|
|
&::after {
|
2024-03-04 23:25:47 -05:00
|
|
|
background: var(--cpd-color-bg-subtle-primary);
|
2021-09-07 17:10:09 +01:00
|
|
|
}
|
2020-07-28 13:19:11 +01:00
|
|
|
|
|
|
|
|
&::before {
|
2024-03-04 23:25:47 -05:00
|
|
|
background-color: var(--cpd-color-icon-primary);
|
2023-07-12 18:46:49 +01:00
|
|
|
z-index: 2;
|
2020-07-28 13:19:11 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-09-16 14:35:50 -06:00
|
|
|
&.mx_MessageComposer_hangup:not(.mx_AccessibleButton_disabled)::before {
|
2021-11-11 14:37:29 +01:00
|
|
|
background-color: $alert;
|
2020-07-08 17:30:50 +02:00
|
|
|
}
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
2022-10-13 12:20:31 +02:00
|
|
|
.mx_MessageComposer_wysiwyg {
|
2022-11-04 16:36:50 +01:00
|
|
|
.mx_MessageComposer_wrapper {
|
|
|
|
|
padding-left: 16px;
|
|
|
|
|
margin-top: 6px;
|
|
|
|
|
margin-bottom: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_row {
|
|
|
|
|
align-items: flex-end;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_actions {
|
|
|
|
|
/* Height of the composer editor */
|
|
|
|
|
height: 40px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MediaBody {
|
|
|
|
|
padding-top: 4px;
|
|
|
|
|
padding-bottom: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_button {
|
2023-07-12 18:46:49 +01:00
|
|
|
@mixin composerButton 5px, $tertiary-content, $panels;
|
2022-11-04 16:36:50 +01:00
|
|
|
|
|
|
|
|
&.mx_MessageComposer_closeButtonMenu {
|
|
|
|
|
&::after {
|
2023-07-12 18:46:49 +01:00
|
|
|
background: $accent-300;
|
2022-11-04 16:36:50 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&::before {
|
|
|
|
|
background-color: $accent;
|
2023-07-12 18:46:49 +01:00
|
|
|
z-index: 2;
|
2022-11-04 16:36:50 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&.mx_MessageComposer_hangup:not(.mx_AccessibleButton_disabled)::before {
|
|
|
|
|
background-color: $alert;
|
|
|
|
|
}
|
2022-10-13 12:20:31 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-01 14:46:30 +00:00
|
|
|
.mx_MessageComposer_upload::before {
|
2025-12-01 13:16:08 +00:00
|
|
|
mask-image: url("@vector-im/compound-design-tokens/icons/attachment.svg");
|
2019-02-12 18:05:19 +00:00
|
|
|
}
|
|
|
|
|
|
2021-10-12 15:13:56 -06:00
|
|
|
.mx_MessageComposer_poll::before {
|
2025-12-01 13:16:08 +00:00
|
|
|
mask-image: url("@vector-im/compound-design-tokens/icons/polls.svg");
|
2021-10-12 15:13:56 -06:00
|
|
|
}
|
|
|
|
|
|
2021-03-15 22:16:58 -06:00
|
|
|
.mx_MessageComposer_voiceMessage::before {
|
2024-10-08 13:00:37 +01:00
|
|
|
mask-image: url("@vector-im/compound-design-tokens/icons/mic-on-solid.svg");
|
2021-03-15 22:16:58 -06:00
|
|
|
}
|
|
|
|
|
|
2022-10-25 17:26:14 +02:00
|
|
|
.mx_MessageComposer_plain_text::before {
|
2025-12-01 13:16:08 +00:00
|
|
|
mask-image: url("@vector-im/compound-design-tokens/icons/text-formatting.svg");
|
2022-10-25 17:26:14 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer_rich_text::before {
|
2024-10-04 13:42:23 +01:00
|
|
|
mask-image: url("@vector-im/compound-design-tokens/icons/text-formatting.svg");
|
2022-10-25 17:26:14 +02:00
|
|
|
}
|
|
|
|
|
|
2021-12-06 09:45:12 +00:00
|
|
|
.mx_MessageComposer_location::before {
|
2024-10-04 13:42:23 +01:00
|
|
|
mask-image: url("@vector-im/compound-design-tokens/icons/location-pin-solid.svg");
|
2021-12-06 09:45:12 +00:00
|
|
|
}
|
|
|
|
|
|
2019-11-01 14:46:30 +00:00
|
|
|
.mx_MessageComposer_stickers::before {
|
2020-07-03 18:03:47 +02:00
|
|
|
mask-image: url("$(res)/img/element-icons/room/composer/sticker.svg");
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
|
|
|
|
|
2021-09-06 22:11:35 -06:00
|
|
|
.mx_MessageComposer_buttonMenu::before {
|
2024-10-18 14:51:54 +01:00
|
|
|
mask-image: url("@vector-im/compound-design-tokens/icons/overflow-horizontal.svg");
|
2021-09-06 22:11:35 -06:00
|
|
|
}
|
|
|
|
|
|
2021-02-12 17:06:02 +01:00
|
|
|
.mx_MessageComposer_sendMessage {
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position: relative;
|
2022-06-27 09:43:58 +01:00
|
|
|
width: 32px;
|
|
|
|
|
height: 32px;
|
2021-02-12 17:06:02 +01:00
|
|
|
border-radius: 100%;
|
2024-03-04 23:25:47 -05:00
|
|
|
background-color: var(--cpd-color-icon-accent-tertiary);
|
2021-02-12 17:06:02 +01:00
|
|
|
|
2021-02-12 17:11:24 +01:00
|
|
|
&::before {
|
2021-02-12 17:06:02 +01:00
|
|
|
position: absolute;
|
|
|
|
|
height: 16px;
|
|
|
|
|
width: 16px;
|
|
|
|
|
top: 8px;
|
|
|
|
|
left: 9px;
|
|
|
|
|
|
2024-11-14 12:34:27 +00:00
|
|
|
mask-image: url("@vector-im/compound-design-tokens/icons/send-solid.svg");
|
2021-02-12 17:06:02 +01:00
|
|
|
mask-repeat: no-repeat;
|
|
|
|
|
mask-size: contain;
|
|
|
|
|
mask-position: center;
|
|
|
|
|
|
2024-03-04 23:25:47 -05:00
|
|
|
background-color: var(--cpd-color-icon-on-solid-primary);
|
2021-02-12 17:06:02 +01:00
|
|
|
content: "";
|
|
|
|
|
}
|
2021-01-09 09:09:14 +01:00
|
|
|
}
|
|
|
|
|
|
2018-04-12 00:23:35 +01:00
|
|
|
.mx_MatrixChat_useCompactLayout {
|
|
|
|
|
.mx_MessageComposer_input {
|
|
|
|
|
min-height: 50px;
|
|
|
|
|
}
|
2022-06-27 09:43:58 +01:00
|
|
|
|
|
|
|
|
.mx_MessageComposer_noperm_error {
|
|
|
|
|
height: 50px;
|
|
|
|
|
}
|
2018-04-12 00:23:35 +01:00
|
|
|
}
|
2021-08-20 12:11:04 +01:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Unstable compact mode
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
.mx_MessageComposer.mx_MessageComposer--compact {
|
|
|
|
|
margin-right: 0;
|
2021-08-24 09:09:28 +01:00
|
|
|
|
2022-06-27 09:43:58 +01:00
|
|
|
.mx_MessageComposer_wrapper {
|
|
|
|
|
padding: 0 0 0 25px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:not(.mx_MessageComposer_e2eStatus) {
|
|
|
|
|
.mx_MessageComposer_wrapper {
|
|
|
|
|
padding: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-08-20 12:11:04 +01:00
|
|
|
.mx_MessageComposer_button:last-child {
|
|
|
|
|
margin-right: 0;
|
|
|
|
|
}
|
2022-06-27 09:43:58 +01:00
|
|
|
|
|
|
|
|
.mx_MessageComposer_e2eIcon {
|
|
|
|
|
left: 0;
|
|
|
|
|
}
|
2021-08-20 12:11:04 +01:00
|
|
|
}
|