cinny/src/app/organisms/room/RoomViewFloating.scss
Ajay Bura a7034d6351 Improve jump to bottom btn
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2022-03-18 11:37:31 +05:30

126 lines
No EOL
2.4 KiB
SCSS

@use '../../partials/flex';
@use '../../partials/text';
@use '../../partials/dir';
.room-view {
&__typing {
display: flex;
padding: var(--sp-ultra-tight) var(--sp-normal);
background: var(--bg-surface);
transition: transform 200ms ease-in-out;
& b {
color: var(--tc-surface-high);
}
& .text {
@extend .cp-txt__ellipsis;
@extend .cp-fx__item-one;
margin: 0 var(--sp-tight);
}
&--open {
transform: translateY(-99%);
box-shadow: 0 4px 0 0 var(--bg-surface);
& .bouncing-loader {
& > *,
&::after,
&::before {
animation: bouncing-loader 0.6s infinite alternate;
}
}
}
}
.bouncing-loader {
transform: translateY(2px);
margin: 0 calc(var(--sp-ultra-tight) / 2);
}
.bouncing-loader > div,
.bouncing-loader::before,
.bouncing-loader::after {
display: inline-block;
width: 8px;
height: 8px;
background: var(--tc-surface-high);
border-radius: 50%;
}
.bouncing-loader::before,
.bouncing-loader::after {
content: "";
}
.bouncing-loader > div {
margin: 0 4px;
}
.bouncing-loader > div {
animation-delay: 0.2s;
}
.bouncing-loader::after {
animation-delay: 0.4s;
}
@keyframes bouncing-loader {
to {
opacity: 0.1;
transform: translate3d(0, -4px, 0);
}
}
&__STB,
&__unread {
opacity: 0.9;
overflow: hidden;
background-color: var(--bg-surface-low);
border-radius: var(--bo-radius);
& button {
justify-content: flex-start;
border-radius: 0;
box-shadow: none;
padding: 6px var(--sp-tight);
& .ic-raw {
width: 16px;
height: 16px;
}
}
}
&__STB {
position: absolute;
@include dir.prop(left, 50%, unset);
@include dir.prop(right, unset, 50%);
bottom: 0;
box-shadow: var(--bs-surface-border);
transition: transform 200ms ease-in-out;
transform: translate(-50%, 100%);
&--open {
transform: translate(-50%, -28px);
}
}
&__unread {
position: absolute;
top: var(--sp-extra-tight);
@include dir.prop(left, var(--sp-normal), unset);
@include dir.prop(right, unset, var(--sp-normal));
z-index: 999;
display: none;
width: calc(100% - var(--sp-extra-loose));
box-shadow: 0 0 2px 0 rgba(0, 0, 0, 20%);
&--open {
display: flex;
}
& button:first-child {
@extend .cp-fx__item-one;
}
}
}