413 lines
7.7 KiB
SCSS
413 lines
7.7 KiB
SCSS
.Composer {
|
|
align-items: flex-end;
|
|
|
|
.select-mode-active + .middle-column-footer & {
|
|
position: absolute;
|
|
padding-right: 2rem;
|
|
bottom: 0;
|
|
|
|
@media (max-width: 600px) {
|
|
padding-right: 1rem;
|
|
}
|
|
|
|
&::before {
|
|
right: 2.125rem;
|
|
|
|
@media (max-width: 600px) {
|
|
right: 1rem;
|
|
}
|
|
}
|
|
|
|
.svg-appendix {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
> .Button {
|
|
flex-shrink: 0;
|
|
margin-left: .5rem;
|
|
|
|
@media (max-width: 600px) {
|
|
width: 2.875rem;
|
|
height: 2.875rem;
|
|
}
|
|
|
|
.icon-send,
|
|
.icon-microphone-alt,
|
|
.icon-check {
|
|
position: absolute;
|
|
}
|
|
|
|
&:not(:active):not(:focus):not(:hover) {
|
|
.icon-send,
|
|
.icon-check {
|
|
color: var(--color-primary);
|
|
}
|
|
}
|
|
|
|
&.cancel {
|
|
position: relative;
|
|
z-index: 1;
|
|
|
|
&:hover, &.active {
|
|
background: var(--color-chat-hover);
|
|
}
|
|
}
|
|
|
|
&.recording {
|
|
position: relative;
|
|
z-index: 0;
|
|
transition: box-shadow .1s;
|
|
}
|
|
|
|
&.send {
|
|
.icon-send {
|
|
animation: grow-icon .4s ease-out;
|
|
}
|
|
|
|
.icon-microphone-alt,
|
|
.icon-check {
|
|
animation: hide-icon .4s forwards ease-out;
|
|
}
|
|
}
|
|
|
|
&.record {
|
|
.icon-microphone-alt {
|
|
animation: grow-icon .4s ease-out;
|
|
}
|
|
|
|
.icon-send,
|
|
.icon-check {
|
|
animation: hide-icon .4s forwards ease-out;
|
|
}
|
|
}
|
|
|
|
&.edit {
|
|
.icon-send,
|
|
.icon-microphone-alt {
|
|
animation: hide-icon .4s forwards ease-out;
|
|
}
|
|
|
|
.icon-check {
|
|
animation: grow-icon .4s ease-out;
|
|
}
|
|
}
|
|
|
|
body.animation-level-0 &, body.animation-level-1 & {
|
|
.icon-send, .icon-microphone-alt, .icon-check {
|
|
animation-duration: 0ms !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.mobile-symbol-menu-button {
|
|
width: 2.875rem;
|
|
height: 2.875rem;
|
|
position: relative;
|
|
|
|
.icon-smile,
|
|
.icon-keyboard,
|
|
.Spinner {
|
|
position: absolute;
|
|
}
|
|
|
|
.Spinner {
|
|
--spinner-size: 1.5rem;
|
|
}
|
|
|
|
.icon-smile {
|
|
animation: grow-icon .4s ease-out;
|
|
}
|
|
|
|
.icon-keyboard, .Spinner {
|
|
animation: hide-icon .4s forwards ease-out;
|
|
}
|
|
|
|
&.is-loading {
|
|
.Spinner {
|
|
animation: grow-icon .4s ease-out;
|
|
}
|
|
|
|
.icon-keyboard, .icon-smile {
|
|
animation: hide-icon .4s forwards ease-out;
|
|
}
|
|
}
|
|
|
|
&.menu-opened {
|
|
.icon-keyboard {
|
|
animation: grow-icon .4s ease-out;
|
|
}
|
|
|
|
.icon-smile, .Spinner {
|
|
animation: hide-icon .4s forwards ease-out;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#message-compose {
|
|
flex-grow: 1;
|
|
max-width: calc(100% - 4rem);
|
|
background: var(--color-background);
|
|
border-radius: var(--border-radius-messages);
|
|
border-bottom-right-radius: 0;
|
|
box-shadow: 0 1px 2px var(--color-default-shadow);
|
|
position: relative;
|
|
z-index: 1;
|
|
|
|
|
|
.svg-appendix {
|
|
position: absolute;
|
|
bottom: -.1875rem;
|
|
right: -.551rem; // This value is correct. Safari fix
|
|
width: .5625rem;
|
|
height: 1.25rem;
|
|
transition: opacity 200ms;
|
|
|
|
.corner {
|
|
fill: var(--color-background);
|
|
}
|
|
}
|
|
|
|
@media (max-width: 600px) {
|
|
max-width: calc(100% - 3rem);
|
|
}
|
|
}
|
|
|
|
.message-input-wrapper {
|
|
display: flex;
|
|
|
|
> .Button {
|
|
flex-shrink: 0;
|
|
background: none !important;
|
|
width: 3.375rem;
|
|
height: 3.375rem;
|
|
margin: 0;
|
|
padding: 0.625rem;
|
|
align-self: flex-end;
|
|
|
|
@media (max-width: 600px) {
|
|
width: 2.875rem;
|
|
height: 2.875rem;
|
|
margin: 0 0.25rem;
|
|
}
|
|
|
|
+ .Button {
|
|
margin-left: -.25rem;
|
|
}
|
|
|
|
&.scheduled-button i::after {
|
|
content: '';
|
|
position: absolute;
|
|
top: .75rem;
|
|
right: .75rem;
|
|
border: .1875rem solid var(--color-background);
|
|
box-sizing: content-box;
|
|
width: .5rem;
|
|
height: .5rem;
|
|
border-radius: 50%;
|
|
background: var(--color-green-darker);
|
|
box-shadow: -.375rem -.25rem 0 -.1875rem var(--color-background);
|
|
@media (max-width: 600px) {
|
|
top: .5rem;
|
|
right: .5rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
> .input-group {
|
|
flex-grow: 1;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.recording-state {
|
|
display: inline-block;
|
|
position: relative;
|
|
line-height: 3.5rem;
|
|
height: 3.5rem;
|
|
padding: 0 3.125rem 0 1rem;
|
|
|
|
&::after {
|
|
content: '';
|
|
width: 10px;
|
|
height: 10px;
|
|
background: var(--color-error);
|
|
border-radius: 5px;
|
|
position: absolute;
|
|
top: 50%;
|
|
margin-top: -5px;
|
|
right: 1.375rem;
|
|
}
|
|
|
|
@media (max-width: 600px) {
|
|
height: 2.875rem;
|
|
line-height: 2.875rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
#message-input-text,
|
|
#caption-input-text {
|
|
position: relative;
|
|
|
|
.form-control {
|
|
padding-top: calc(1rem - var(--border-width));
|
|
padding-bottom: calc(1rem - var(--border-width));
|
|
overflow: hidden;
|
|
line-height: 1.375rem;
|
|
font-family: Roboto, -apple-system, "Apple Color Emoji", "Helvetica Neue", sans-serif;
|
|
unicode-bidi: plaintext;
|
|
text-align: initial;
|
|
|
|
&.overflown {
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
&.touched, &:focus {
|
|
& + .placeholder-text {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
&.focus-disabled {
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
.placeholder-text {
|
|
position: absolute;
|
|
bottom: .9375rem;
|
|
color: var(--color-placeholders);
|
|
pointer-events: none;
|
|
unicode-bidi: plaintext;
|
|
text-align: initial;
|
|
|
|
@media (max-width: 600px) {
|
|
bottom: 0.6875rem;
|
|
}
|
|
}
|
|
|
|
.text-entity-link {
|
|
color: var(--color-links) !important;
|
|
cursor: default;
|
|
text-decoration: none;
|
|
|
|
&:hover, &:active, &:visited {
|
|
color: var(--color-links-hover) !important;
|
|
}
|
|
}
|
|
|
|
.clone {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
z-index: -10;
|
|
unicode-bidi: plaintext;
|
|
text-align: initial;
|
|
}
|
|
}
|
|
|
|
#message-input-text {
|
|
flex-grow: 1;
|
|
|
|
.form-control {
|
|
margin-bottom: 0;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
border-radius: 0 !important;
|
|
box-shadow: none !important;
|
|
caret-color: var(--color-text);
|
|
min-height: 3.5rem;
|
|
max-height: 26rem;
|
|
line-height: 1.3125;
|
|
padding-top: calc(1.15625rem - var(--border-width));
|
|
padding-bottom: calc(1.15625rem - var(--border-width));
|
|
|
|
@media (max-width: 600px) {
|
|
height: 2.875rem;
|
|
min-height: 2.875rem;
|
|
max-height: 16rem;
|
|
padding-top: calc(0.84375rem - var(--border-width));
|
|
padding-bottom: calc(0.84375rem - var(--border-width));
|
|
}
|
|
|
|
transition: height 100ms ease;
|
|
|
|
body.animation-level-0 & {
|
|
transition: none !important;
|
|
}
|
|
}
|
|
|
|
&:not(:only-child) {
|
|
.form-control {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
}
|
|
}
|
|
|
|
.ComposerEmbeddedMessage + .message-input-wrapper &,
|
|
.WebPagePreview + .message-input-wrapper & {
|
|
.form-control.overflown {
|
|
margin-top: 0.75rem;
|
|
}
|
|
}
|
|
|
|
.emoji {
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
margin: 0 1px -5px;
|
|
vertical-align: 0;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
#caption-input-text {
|
|
.form-control {
|
|
height: 3.25rem;
|
|
min-height: 3.25rem;
|
|
max-height: 15rem;
|
|
}
|
|
|
|
.placeholder-text {
|
|
bottom: .8125rem;
|
|
left: .90625rem;
|
|
}
|
|
}
|
|
|
|
.composer-tooltip {
|
|
position: absolute;
|
|
bottom: calc(100% + .5rem);
|
|
left: 0;
|
|
width: 100%;
|
|
background: var(--color-background);
|
|
border-radius: var(--border-radius-messages);
|
|
padding: 0.5rem 0;
|
|
max-height: 15rem;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
overflow-y: overlay;
|
|
|
|
box-shadow: 0 1px 2px var(--color-default-shadow);
|
|
|
|
opacity: 0;
|
|
transform: translateY(1.5rem);
|
|
transform-origin: bottom;
|
|
transition: opacity var(--layer-transition), transform var(--layer-transition);
|
|
|
|
&:not(.shown) {
|
|
display: none;
|
|
}
|
|
|
|
&.open {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.Loading {
|
|
margin: 1rem 0;
|
|
}
|
|
}
|