mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-18 14:44:58 +08:00
f51a6b6da4
* Show simple file name and size on images/videos Fixes https://github.com/vector-im/element-web/issues/18197 * i18n * Fix bad merge * Add hover state tracking * Only show on timeline-like objects * Match new design requirements * Remove video support (deemed not needed) * Colouring and sizing from design * Include file name in lightbox * Revert changes to videos since we don't need them * i18n * Iterate PR Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
156 lines
3.4 KiB
SCSS
156 lines
3.4 KiB
SCSS
/*
|
|
Copyright 2015, 2016 OpenMarket Ltd
|
|
|
|
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.
|
|
*/
|
|
|
|
$button-size: 32px;
|
|
$icon-size: 22px;
|
|
$button-gap: 24px;
|
|
|
|
:root {
|
|
--image-view-panel-height: 68px;
|
|
}
|
|
|
|
.mx_ImageView {
|
|
display: flex;
|
|
width: 100%;
|
|
height: 100%;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.mx_ImageView_image_wrapper {
|
|
pointer-events: initial;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.mx_ImageView_image {
|
|
flex-shrink: 0;
|
|
|
|
&.mx_ImageView_image_animating {
|
|
transition: transform 200ms ease 0s;
|
|
}
|
|
|
|
&.mx_ImageView_image_animatingLoading {
|
|
transition: transform 300ms ease 0s;
|
|
}
|
|
}
|
|
|
|
.mx_ImageView_panel {
|
|
width: 100%;
|
|
height: var(--image-view-panel-height);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
animation-name: mx_ImageView_panel_keyframes;
|
|
animation-duration: 300ms;
|
|
}
|
|
|
|
.mx_ImageView_info_wrapper {
|
|
pointer-events: initial;
|
|
padding-left: 32px;
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
color: $lightbox-fg-color;
|
|
}
|
|
|
|
.mx_ImageView_info {
|
|
padding-left: 12px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.mx_ImageView_info_sender {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.mx_ImageView_title {
|
|
color: $lightbox-fg-color;
|
|
font-size: $font-12px;
|
|
}
|
|
|
|
.mx_ImageView_toolbar {
|
|
padding-right: 16px;
|
|
pointer-events: initial;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: calc($button-gap - ($button-size - $icon-size));
|
|
}
|
|
|
|
.mx_ImageView_button {
|
|
padding: calc(($button-size - $icon-size) / 2);
|
|
display: block;
|
|
|
|
&::before {
|
|
content: '';
|
|
height: $icon-size;
|
|
width: $icon-size;
|
|
mask-repeat: no-repeat;
|
|
mask-size: contain;
|
|
mask-position: center;
|
|
display: block;
|
|
background-color: $icon-button-color;
|
|
}
|
|
}
|
|
|
|
.mx_ImageView_button_rotateCW::before {
|
|
mask-image: url('$(res)/img/image-view/rotate-cw.svg');
|
|
}
|
|
|
|
.mx_ImageView_button_rotateCCW::before {
|
|
mask-image: url('$(res)/img/image-view/rotate-ccw.svg');
|
|
}
|
|
|
|
.mx_ImageView_button_zoomOut::before {
|
|
mask-image: url('$(res)/img/image-view/zoom-out.svg');
|
|
}
|
|
|
|
.mx_ImageView_button_zoomIn::before {
|
|
mask-image: url('$(res)/img/image-view/zoom-in.svg');
|
|
}
|
|
|
|
.mx_ImageView_button_download::before {
|
|
mask-image: url('$(res)/img/image-view/download.svg');
|
|
}
|
|
|
|
.mx_ImageView_button_more::before {
|
|
mask-image: url('$(res)/img/image-view/more.svg');
|
|
}
|
|
|
|
.mx_ImageView_button_close {
|
|
padding: calc($button-size - $button-size);
|
|
border-radius: 100%;
|
|
background: #21262c; // same on all themes
|
|
&::before {
|
|
width: $button-size;
|
|
height: $button-size;
|
|
mask-image: url('$(res)/img/image-view/close.svg');
|
|
mask-size: 40%;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion) {
|
|
.mx_ImageView_image_animating {
|
|
transition: none !important;
|
|
}
|
|
|
|
.mx_ImageView_image_animatingLoading {
|
|
transition: none !important;
|
|
}
|
|
}
|