157 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
| /*
 | |
| Copyright 2024 New Vector Ltd.
 | |
| Copyright 2015, 2016 OpenMarket Ltd
 | |
| 
 | |
| SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
 | |
| Please see LICENSE files in the repository root for full details.
 | |
| */
 | |
| 
 | |
| $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;
 | |
|     flex-grow: 1;
 | |
|     flex-basis: 0;
 | |
| }
 | |
| 
 | |
| .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;
 | |
|     flex-grow: 1;
 | |
|     flex-basis: 0;
 | |
|     text-align: center;
 | |
| }
 | |
| 
 | |
| .mx_ImageView_toolbar {
 | |
|     padding-right: 16px;
 | |
|     pointer-events: initial;
 | |
|     display: flex;
 | |
|     align-items: center;
 | |
|     flex-grow: 1;
 | |
|     flex-basis: 0;
 | |
|     justify-content: flex-end;
 | |
|     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("@vector-im/compound-design-tokens/icons/download.svg");
 | |
| }
 | |
| 
 | |
| .mx_ImageView_button_more::before {
 | |
|     mask-image: url("@vector-im/compound-design-tokens/icons/overflow-horizontal.svg");
 | |
|     mask-size: 28px;
 | |
| }
 | |
| 
 | |
| .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("@vector-im/compound-design-tokens/icons/close.svg");
 | |
|         mask-size: 24px;
 | |
|     }
 | |
| }
 | |
| 
 | |
| @media (prefers-reduced-motion) {
 | |
|     .mx_ImageView_image_animating {
 | |
|         transition: none !important;
 | |
|     }
 | |
| 
 | |
|     .mx_ImageView_image_animatingLoading {
 | |
|         transition: none !important;
 | |
|     }
 | |
| }
 |