493 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			SCSS
		
	
	
			
		
		
	
	
			493 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			SCSS
		
	
	
| /*
 | |
| Copyright 2021 The Matrix.org Foundation C.I.C.
 | |
| 
 | |
| 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.
 | |
| */
 | |
| 
 | |
| $SpaceRoomViewInnerWidth: 428px;
 | |
| 
 | |
| @define-mixin SpacePillButton {
 | |
|     position: relative;
 | |
|     padding: 16px 32px 16px 72px;
 | |
|     width: 432px;
 | |
|     box-sizing: border-box;
 | |
|     border-radius: 8px;
 | |
|     border: 1px solid $input-border-color;
 | |
|     font-size: $font-15px;
 | |
|     margin: 20px 0;
 | |
| 
 | |
|     > h3 {
 | |
|         font-weight: $font-semi-bold;
 | |
|         margin: 0 0 4px;
 | |
|     }
 | |
| 
 | |
|     > span {
 | |
|         color: $secondary-content;
 | |
|     }
 | |
| 
 | |
|     &::before {
 | |
|         position: absolute;
 | |
|         content: '';
 | |
|         width: 32px;
 | |
|         height: 32px;
 | |
|         top: 24px;
 | |
|         left: 20px;
 | |
|         mask-position: center;
 | |
|         mask-repeat: no-repeat;
 | |
|         mask-size: 24px;
 | |
|         background-color: $tertiary-content;
 | |
|     }
 | |
| 
 | |
|     &:hover {
 | |
|         border-color: $accent;
 | |
| 
 | |
|         &::before {
 | |
|             background-color: $accent;
 | |
|         }
 | |
| 
 | |
|         > span {
 | |
|             color: $primary-content;
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| .mx_SpaceRoomView {
 | |
|     overflow-y: auto;
 | |
|     flex: 1;
 | |
| 
 | |
|     .mx_MainSplit > div:first-child {
 | |
|         padding: 80px 60px;
 | |
|         flex-grow: 1;
 | |
|         max-height: 100%;
 | |
|         overflow-y: auto;
 | |
| 
 | |
|         h1 {
 | |
|             margin: 0;
 | |
|             font-size: $font-24px;
 | |
|             font-weight: $font-semi-bold;
 | |
|             color: $primary-content;
 | |
|             width: max-content;
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_description {
 | |
|             font-size: $font-15px;
 | |
|             color: $secondary-content;
 | |
|             margin-top: 12px;
 | |
|             margin-bottom: 24px;
 | |
|             max-width: $SpaceRoomViewInnerWidth;
 | |
|         }
 | |
| 
 | |
|         .mx_AddExistingToSpace {
 | |
|             max-width: $SpaceRoomViewInnerWidth;
 | |
| 
 | |
|             .mx_AddExistingToSpace_content {
 | |
|                 height: calc(100vh - 360px);
 | |
|                 max-height: 400px;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         &:not(.mx_SpaceRoomView_landing) .mx_SpaceFeedbackPrompt {
 | |
|             width: $SpaceRoomViewInnerWidth;
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_buttons {
 | |
|             display: block;
 | |
|             margin-top: 44px;
 | |
|             width: $SpaceRoomViewInnerWidth;
 | |
|             text-align: right; // button alignment right
 | |
| 
 | |
|             .mx_AccessibleButton_hasKind {
 | |
|                 padding: 8px 22px;
 | |
|                 margin-left: 16px;
 | |
|             }
 | |
| 
 | |
|             input.mx_AccessibleButton {
 | |
|                 border: none; // override default styles
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         .mx_Field {
 | |
|             max-width: $SpaceRoomViewInnerWidth;
 | |
| 
 | |
|             & + .mx_Field {
 | |
|                 margin-top: 28px;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_errorText {
 | |
|             font-weight: $font-semi-bold;
 | |
|             font-size: $font-12px;
 | |
|             line-height: $font-15px;
 | |
|             color: $alert;
 | |
|             margin-bottom: 28px;
 | |
|         }
 | |
| 
 | |
|         .mx_AccessibleButton_disabled {
 | |
|             cursor: not-allowed;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     .mx_SpaceRoomView_preview,
 | |
|     .mx_SpaceRoomView_landing {
 | |
|         .mx_SpaceRoomView_info_memberCount {
 | |
|             color: inherit;
 | |
|             position: relative;
 | |
|             padding: 0 0 0 16px;
 | |
|             font-size: $font-15px;
 | |
|             display: inline; // cancel inline-flex
 | |
| 
 | |
|             &::before {
 | |
|                 content: "·"; // visual separator
 | |
|                 position: absolute;
 | |
|                 left: 6px;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     .mx_SpaceRoomView_preview {
 | |
|         padding: 32px 24px !important; // override default padding from above
 | |
|         margin: auto;
 | |
|         max-width: 480px;
 | |
|         box-sizing: border-box;
 | |
|         box-shadow: 2px 15px 30px $dialog-shadow-color;
 | |
|         border-radius: 8px;
 | |
|         position: relative;
 | |
| 
 | |
|         // XXX remove this when spaces leaves Beta
 | |
|         .mx_BetaCard_betaPill {
 | |
|             position: absolute;
 | |
|             right: 24px;
 | |
|             top: 32px;
 | |
|         }
 | |
| 
 | |
|         // XXX remove this when spaces leaves Beta
 | |
|         .mx_SpaceRoomView_preview_spaceBetaPrompt {
 | |
|             font-weight: $font-semi-bold;
 | |
|             font-size: $font-14px;
 | |
|             line-height: $font-24px;
 | |
|             color: $primary-content;
 | |
|             margin-top: 24px;
 | |
|             position: relative;
 | |
|             padding-left: 24px;
 | |
| 
 | |
|             .mx_AccessibleButton_kind_link {
 | |
|                 display: inline;
 | |
|                 padding: 0;
 | |
|                 font-size: inherit;
 | |
|                 line-height: inherit;
 | |
|             }
 | |
| 
 | |
|             &::before {
 | |
|                 content: "";
 | |
|                 position: absolute;
 | |
|                 height: $font-24px;
 | |
|                 width: 20px;
 | |
|                 left: 0;
 | |
|                 mask-repeat: no-repeat;
 | |
|                 mask-position: center;
 | |
|                 mask-size: contain;
 | |
|                 mask-image: url('$(res)/img/element-icons/room/room-summary.svg');
 | |
|                 background-color: $secondary-content;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_preview_inviter {
 | |
|             display: flex;
 | |
|             align-items: center;
 | |
|             margin-bottom: 20px;
 | |
|             font-size: $font-15px;
 | |
| 
 | |
|             > div {
 | |
|                 margin-left: 8px;
 | |
| 
 | |
|                 .mx_SpaceRoomView_preview_inviter_name {
 | |
|                     line-height: $font-18px;
 | |
|                 }
 | |
| 
 | |
|                 .mx_SpaceRoomView_preview_inviter_mxid {
 | |
|                     line-height: $font-24px;
 | |
|                     color: $secondary-content;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         > .mx_RoomAvatar_isSpaceRoom {
 | |
|             &.mx_BaseAvatar_image, .mx_BaseAvatar_image {
 | |
|                 border-radius: 12px;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         h1.mx_SpaceRoomView_preview_name {
 | |
|             margin: 20px 0 !important; // override default margin from above
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_preview_topic {
 | |
|             font-size: $font-14px;
 | |
|             line-height: $font-22px;
 | |
|             color: $secondary-content;
 | |
|             margin: 20px 0;
 | |
|             max-height: 160px;
 | |
|             overflow-y: auto;
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_preview_joinButtons {
 | |
|             margin-top: 20px;
 | |
| 
 | |
|             .mx_AccessibleButton {
 | |
|                 width: 200px;
 | |
|                 box-sizing: border-box;
 | |
|                 padding: 14px 0;
 | |
| 
 | |
|                 & + .mx_AccessibleButton {
 | |
|                     margin-left: 20px;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     .mx_SpaceRoomView_landing {
 | |
|         display: flex;
 | |
|         flex-direction: column;
 | |
|         min-width: 0;
 | |
| 
 | |
|         .mx_SpaceRoomView_landing_header {
 | |
|             display: flex;
 | |
|             justify-content: space-between;
 | |
| 
 | |
|             .mx_BaseAvatar {
 | |
|                 width: 80px;
 | |
| 
 | |
|                 .mx_BaseAvatar_image {
 | |
|                     border-radius: 12px;
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             // XXX: Temporary for the Spaces release only
 | |
|             .mx_SpaceFeedbackPrompt {
 | |
|                 padding: 7px; // 8px - 1px border
 | |
|                 border: 1px solid rgba($primary-content, .1);
 | |
|                 border-radius: 8px;
 | |
|                 width: max-content;
 | |
|                 height: fit-content;
 | |
|                 margin-left: 24px;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_landing_name {
 | |
|             margin: 24px 0 16px;
 | |
|             font-size: $font-15px;
 | |
|             color: $secondary-content;
 | |
| 
 | |
|             > span {
 | |
|                 display: flex;
 | |
|                 flex-flow: column;
 | |
|                 gap: 12px 0;
 | |
| 
 | |
|                 h1 {
 | |
|                     display: inline-block;
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             .mx_SpaceRoomView_landing_inviter {
 | |
|                 .mx_BaseAvatar {
 | |
|                     margin-right: 4px;
 | |
|                     vertical-align: middle;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_landing_infoBar {
 | |
|             display: flex;
 | |
|             align-items: center;
 | |
|             justify-content: space-between;
 | |
|             gap: 12px;
 | |
|             flex-wrap: wrap;
 | |
|             line-height: $font-24px;
 | |
| 
 | |
|             .mx_SpaceRoomView_info {
 | |
|                 color: $secondary-content;
 | |
|                 font-size: $font-15px;
 | |
|                 display: inline-block;
 | |
| 
 | |
|                 .mx_SpaceRoomView_info_public,
 | |
|                 .mx_SpaceRoomView_info_private {
 | |
|                     padding-left: 20px;
 | |
|                     position: relative;
 | |
| 
 | |
|                     &::before {
 | |
|                         position: absolute;
 | |
|                         content: "";
 | |
|                         width: 20px;
 | |
|                         height: 20px;
 | |
|                         top: 0;
 | |
|                         left: -2px;
 | |
|                         mask-position: center;
 | |
|                         mask-repeat: no-repeat;
 | |
|                         background-color: $tertiary-content;
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 .mx_SpaceRoomView_info_public::before {
 | |
|                     mask-size: 12px;
 | |
|                     mask-image: url("$(res)/img/globe.svg");
 | |
|                 }
 | |
| 
 | |
|                 .mx_SpaceRoomView_info_private::before {
 | |
|                     mask-size: 14px;
 | |
|                     mask-image: url("$(res)/img/element-icons/lock.svg");
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             .mx_SpaceRoomView_landing_infoBar_interactive {
 | |
|                 display: flex;
 | |
|                 flex-wrap: wrap;
 | |
|                 align-items: center;
 | |
|                 gap: 12px 12px;
 | |
| 
 | |
|                 .mx_FacePile {
 | |
|                     display: inline-block;
 | |
| 
 | |
|                     .mx_FacePile_faces {
 | |
|                         cursor: pointer;
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 .mx_SpaceRoomView_landing_inviteButton,
 | |
|                 .mx_SpaceRoomView_landing_settingsButton {
 | |
|                     position: relative;
 | |
| 
 | |
|                     &::before {
 | |
|                         position: absolute;
 | |
|                         content: "";
 | |
|                         mask-position: center;
 | |
|                         mask-repeat: no-repeat;
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 .mx_SpaceRoomView_landing_inviteButton {
 | |
|                     padding: 4px 18px 4px 40px;
 | |
|                     height: min-content;
 | |
| 
 | |
|                     &::before {
 | |
|                         left: 8px;
 | |
|                         height: 16px;
 | |
|                         width: 16px;
 | |
|                         background: #fff; // white icon fill
 | |
|                         mask-size: 16px;
 | |
|                         mask-image: url('$(res)/img/element-icons/room/invite.svg');
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 .mx_SpaceRoomView_landing_settingsButton {
 | |
|                     width: 24px;
 | |
|                     height: 24px;
 | |
| 
 | |
|                     &::before {
 | |
|                         left: 0;
 | |
|                         top: 0;
 | |
|                         height: 24px;
 | |
|                         width: 24px;
 | |
|                         background: $tertiary-content;
 | |
|                         mask-size: contain;
 | |
|                         mask-image: url('$(res)/img/element-icons/settings.svg');
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_landing_topic {
 | |
|             font-size: $font-15px;
 | |
|             margin-top: 12px;
 | |
|             margin-bottom: 16px;
 | |
|             white-space: pre-wrap;
 | |
|             word-wrap: break-word;
 | |
|         }
 | |
| 
 | |
|         .mx_SearchBox {
 | |
|             margin: 0 0 20px;
 | |
|             flex: 0;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     .mx_SpaceRoomView_privateScope {
 | |
|         > .mx_AccessibleButton {
 | |
|             @mixin SpacePillButton;
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_privateScope_justMeButton::before {
 | |
|             mask-image: url('$(res)/img/element-icons/room/members.svg');
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_privateScope_meAndMyTeammatesButton::before {
 | |
|             mask-image: url('$(res)/img/element-icons/group-members.svg');
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     .mx_SpaceRoomView_inviteTeammates {
 | |
|         // XXX remove this when spaces leaves Beta
 | |
|         .mx_SpaceRoomView_inviteTeammates_betaDisclaimer {
 | |
|             padding: 16px;
 | |
|             position: relative;
 | |
|             border-radius: 8px;
 | |
|             background-color: $header-panel-bg-color;
 | |
|             max-width: $SpaceRoomViewInnerWidth;
 | |
|             margin: 20px 0 30px;
 | |
|             box-sizing: border-box;
 | |
| 
 | |
|             .mx_BetaCard_betaPill {
 | |
|                 position: absolute;
 | |
|                 left: 16px;
 | |
|                 top: 16px;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         .mx_SpaceRoomView_inviteTeammates_buttons {
 | |
|             color: $secondary-content;
 | |
|             margin-top: 28px;
 | |
| 
 | |
|             .mx_AccessibleButton {
 | |
|                 position: relative;
 | |
|                 display: inline-block;
 | |
|                 padding-left: 32px;
 | |
|                 line-height: 24px; // to center icons
 | |
| 
 | |
|                 &::before {
 | |
|                     content: "";
 | |
|                     position: absolute;
 | |
|                     height: 24px;
 | |
|                     width: 24px;
 | |
|                     top: 0;
 | |
|                     left: 0;
 | |
|                     background-color: $secondary-content;
 | |
|                     mask-repeat: no-repeat;
 | |
|                     mask-position: center;
 | |
|                     mask-size: contain;
 | |
|                 }
 | |
| 
 | |
|                 & + .mx_AccessibleButton {
 | |
|                     margin-left: 32px;
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             .mx_SpaceRoomView_inviteTeammates_inviteDialogButton {
 | |
|                 color: $accent;
 | |
| 
 | |
|                 &::before {
 | |
|                     mask-image: url('$(res)/img/element-icons/room/invite.svg');
 | |
|                     background-color: $accent;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |