466 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			466 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
/*
 | 
						|
Copyright 2024 New Vector Ltd.
 | 
						|
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
 | 
						|
 | 
						|
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
 | 
						|
Please see LICENSE files in the repository root for full details.
 | 
						|
*/
 | 
						|
 | 
						|
.mx_InviteDialog_flexWrapper .mx_Dialog {
 | 
						|
    display: flex;
 | 
						|
    flex-direction: column;
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_transferWrapper .mx_Dialog {
 | 
						|
    padding-bottom: $spacing-16;
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_addressBar {
 | 
						|
    display: flex;
 | 
						|
    flex-direction: row;
 | 
						|
    /* Right margin for the design. We could apply this to the whole dialog, but then the scrollbar */
 | 
						|
    /* for the user section gets weird. */
 | 
						|
    margin: $spacing-8 45px 0 0;
 | 
						|
 | 
						|
    .mx_InviteDialog_editor {
 | 
						|
        flex: 1;
 | 
						|
        width: 100%; /* Needed to make the Field inside grow */
 | 
						|
        background-color: $header-panel-bg-color;
 | 
						|
        border-radius: 4px;
 | 
						|
        min-height: 25px;
 | 
						|
        padding-inline-start: $spacing-8;
 | 
						|
        overflow-x: hidden;
 | 
						|
        overflow-y: auto;
 | 
						|
        display: flex;
 | 
						|
        flex-wrap: wrap;
 | 
						|
 | 
						|
        .mx_InviteDialog_userTile {
 | 
						|
            margin: 6px 6px 0 0;
 | 
						|
            display: inline-block;
 | 
						|
            min-width: max-content; /* prevent manipulation by flexbox */
 | 
						|
        }
 | 
						|
 | 
						|
        /* overrides bunch of our default text input styles */
 | 
						|
        > input[type="text"] {
 | 
						|
            margin: 6px 0 !important;
 | 
						|
            height: 24px;
 | 
						|
            font: var(--cpd-font-body-md-regular);
 | 
						|
            line-height: $font-24px;
 | 
						|
            padding-inline-start: $spacing-12;
 | 
						|
            border: 0 !important;
 | 
						|
            outline: 0 !important;
 | 
						|
            resize: none;
 | 
						|
            box-sizing: border-box;
 | 
						|
            min-width: 40%;
 | 
						|
            flex: 1 !important;
 | 
						|
            color: $primary-content !important;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_goButton {
 | 
						|
        min-width: 48px;
 | 
						|
        margin-inline-start: 10px;
 | 
						|
        height: 25px;
 | 
						|
        line-height: $font-25px;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_buttonAndSpinner {
 | 
						|
        .mx_Spinner {
 | 
						|
            /* Width and height are required to trick the layout engine. */
 | 
						|
            width: 20px;
 | 
						|
            height: 20px;
 | 
						|
            margin-inline-start: 5px;
 | 
						|
            display: inline-block;
 | 
						|
            vertical-align: middle;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_section {
 | 
						|
    padding-bottom: $spacing-4;
 | 
						|
 | 
						|
    h3 {
 | 
						|
        font-size: $font-12px;
 | 
						|
        color: $muted-fg-color;
 | 
						|
        font-weight: bold;
 | 
						|
        text-transform: uppercase;
 | 
						|
    }
 | 
						|
 | 
						|
    > p {
 | 
						|
        margin: 0;
 | 
						|
    }
 | 
						|
 | 
						|
    > span {
 | 
						|
        color: $primary-content;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_section_showMore {
 | 
						|
        margin: 7px 18px;
 | 
						|
        display: block;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_section_hidden_suggestions_disclaimer {
 | 
						|
    padding: $spacing-8 0 $spacing-16 0;
 | 
						|
    font: var(--cpd-font-body-md-regular);
 | 
						|
 | 
						|
    > span {
 | 
						|
        color: $primary-content;
 | 
						|
        font-weight: var(--cpd-font-weight-semibold);
 | 
						|
    }
 | 
						|
 | 
						|
    > p {
 | 
						|
        margin: 0;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_footer {
 | 
						|
    border-top: 1px solid $input-border-color;
 | 
						|
 | 
						|
    > h3 {
 | 
						|
        margin: $spacing-12 0;
 | 
						|
        font-size: $font-12px;
 | 
						|
        color: $muted-fg-color;
 | 
						|
        font-weight: bold;
 | 
						|
        text-transform: uppercase;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_CopyableText.mx_CopyableText_border {
 | 
						|
        width: unset; /* full width */
 | 
						|
        margin-bottom: 0;
 | 
						|
 | 
						|
        > a {
 | 
						|
            text-decoration: none;
 | 
						|
            flex-shrink: 1;
 | 
						|
            overflow: hidden;
 | 
						|
            text-overflow: ellipsis;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
/* Many of these styles are stolen from mx_UserPill, but adjusted for the invite dialog. */
 | 
						|
.mx_InviteDialog_userTile {
 | 
						|
    margin-inline-end: $spacing-8;
 | 
						|
 | 
						|
    .mx_InviteDialog_userTile_pill {
 | 
						|
        background-color: var(--cpd-color-bg-canvas-default);
 | 
						|
        border: 1px solid var(--cpd-color-gray-400);
 | 
						|
        border-radius: 99px;
 | 
						|
        display: inline-block;
 | 
						|
        height: 24px;
 | 
						|
        line-height: $font-24px;
 | 
						|
        padding-inline: $spacing-8;
 | 
						|
        vertical-align: middle;
 | 
						|
        color: var(--cpd-color-gray-1100);
 | 
						|
 | 
						|
        .mx_SearchResultAvatar {
 | 
						|
            border-radius: 20px;
 | 
						|
            position: relative;
 | 
						|
            left: -5px;
 | 
						|
            top: 2px;
 | 
						|
        }
 | 
						|
 | 
						|
        img.mx_SearchResultAvatar {
 | 
						|
            vertical-align: top;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_InviteDialog_userTile_name {
 | 
						|
            vertical-align: top;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_SearchResultAvatar_threepidAvatar {
 | 
						|
            background-color: #ffffff; /* this is fine without a var because it's for both themes */
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_userTile_remove {
 | 
						|
        display: inline-block;
 | 
						|
        vertical-align: middle;
 | 
						|
 | 
						|
        svg {
 | 
						|
            vertical-align: middle;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_other {
 | 
						|
    /* Prevent the dialog from jumping around randomly when elements change. */
 | 
						|
    display: flex;
 | 
						|
    flex-direction: column;
 | 
						|
    height: 600px;
 | 
						|
    overflow: hidden;
 | 
						|
 | 
						|
    h2 {
 | 
						|
        display: -webkit-box;
 | 
						|
        -webkit-line-clamp: 2;
 | 
						|
        -webkit-box-orient: vertical;
 | 
						|
        white-space: pre-wrap;
 | 
						|
        overflow: hidden;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_addressBar {
 | 
						|
        margin-inline-end: 0;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_userSections {
 | 
						|
        flex-grow: 1;
 | 
						|
        padding-inline-end: 0;
 | 
						|
 | 
						|
        .mx_InviteDialog_section {
 | 
						|
            padding-bottom: 0;
 | 
						|
            margin-top: $spacing-12;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_content {
 | 
						|
    display: flex;
 | 
						|
    flex-direction: column;
 | 
						|
    flex-grow: 1;
 | 
						|
    overflow: hidden;
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_transfer {
 | 
						|
    width: auto;
 | 
						|
 | 
						|
    .mx_InviteDialog_content {
 | 
						|
        width: 496px;
 | 
						|
        height: 430px;
 | 
						|
        overflow: visible;
 | 
						|
 | 
						|
        .mx_TabbedView {
 | 
						|
            display: flex;
 | 
						|
            flex-direction: column;
 | 
						|
            flex-shrink: 1;
 | 
						|
            flex-grow: 1;
 | 
						|
            min-height: 0;
 | 
						|
 | 
						|
            .mx_TabbedView_tabPanel {
 | 
						|
                flex-direction: column;
 | 
						|
 | 
						|
                .mx_TabbedView_tabPanelContent {
 | 
						|
                    display: flex;
 | 
						|
                    flex-direction: column;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_addressBar {
 | 
						|
        margin-top: $spacing-8;
 | 
						|
    }
 | 
						|
 | 
						|
    input[type="checkbox"] {
 | 
						|
        margin-inline-end: $spacing-8;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_userSections {
 | 
						|
    margin-top: $spacing-4;
 | 
						|
    overflow-y: auto;
 | 
						|
    padding: 0 45px $spacing-4 0;
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_helpText {
 | 
						|
    margin: 0;
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_dialPad {
 | 
						|
    width: 224px;
 | 
						|
    margin-top: $spacing-16;
 | 
						|
    margin-inline: auto;
 | 
						|
 | 
						|
    .mx_InviteDialog_dialPadField {
 | 
						|
        border-top: 0;
 | 
						|
        border-inline: 0;
 | 
						|
        border-radius: 0;
 | 
						|
        margin-top: 0;
 | 
						|
        border-color: $quaternary-content;
 | 
						|
 | 
						|
        &:focus-within {
 | 
						|
            border-color: $accent;
 | 
						|
        }
 | 
						|
 | 
						|
        input {
 | 
						|
            font-size: 18px;
 | 
						|
            font-weight: var(--cpd-font-weight-semibold);
 | 
						|
            padding-top: 0;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_Field_postfix {
 | 
						|
            /* Remove border separator between postfix and field content */
 | 
						|
            border-left: none;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_DialPad {
 | 
						|
        row-gap: $spacing-16;
 | 
						|
        column-gap: 48px;
 | 
						|
        margin-inline: auto;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_transferConsultConnect {
 | 
						|
    padding-top: $spacing-16;
 | 
						|
    /* This wants a drop shadow the full width of the dialog, so use negative margin to make it full width,
 | 
						|
     * then compensate with padding
 | 
						|
     */
 | 
						|
    padding-inline: $spacing-24;
 | 
						|
    margin-inline: calc(-1 * $spacing-24);
 | 
						|
    border-top: 1px solid $quinary-content;
 | 
						|
 | 
						|
    display: flex;
 | 
						|
    flex-direction: row;
 | 
						|
    align-items: center;
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_transferConsultConnect_pushRight {
 | 
						|
    margin-inline-start: auto;
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_userDirectoryIcon::before {
 | 
						|
    mask-image: url("$(res)/img/voip/tab-userdirectory.svg");
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_dialPadIcon::before {
 | 
						|
    mask-image: url("$(res)/img/voip/tab-dialpad.svg");
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_tile {
 | 
						|
    cursor: pointer;
 | 
						|
    display: grid;
 | 
						|
    gap: $spacing-8 $spacing-12;
 | 
						|
    align-items: center;
 | 
						|
 | 
						|
    &.mx_InviteDialog_tile--room {
 | 
						|
        /* mx_InviteDialog_tile_avatarStack, mx_InviteDialog_tile_nameStack, time */
 | 
						|
        grid-template-columns: min-content auto auto;
 | 
						|
        padding: $spacing-4 $spacing-8;
 | 
						|
 | 
						|
        &:hover {
 | 
						|
            background-color: $header-panel-bg-color;
 | 
						|
            border-radius: 4px;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_InviteDialog_tile--room_selected {
 | 
						|
            border-radius: 36px;
 | 
						|
            background-color: var(--cpd-color-bg-success-subtle);
 | 
						|
 | 
						|
            &::before {
 | 
						|
                content: "";
 | 
						|
                width: 24px;
 | 
						|
                height: 24px;
 | 
						|
                grid-column: 1;
 | 
						|
                grid-row: 1;
 | 
						|
                mask-image: url("@vector-im/compound-design-tokens/icons/check.svg");
 | 
						|
                mask-size: 100%;
 | 
						|
                mask-repeat: no-repeat;
 | 
						|
                position: absolute;
 | 
						|
                top: 6px; /* 50% */
 | 
						|
                left: 6px; /* 50% */
 | 
						|
                background-color: $primary-content;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_InviteDialog_tile--room_time {
 | 
						|
            margin-inline-start: auto;
 | 
						|
            width: max-content;
 | 
						|
            font-size: $font-12px;
 | 
						|
            color: $muted-fg-color;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_InviteDialog_tile--room_highlight {
 | 
						|
            font-weight: 900;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    &.mx_InviteDialog_tile--inviterError {
 | 
						|
        grid-template-columns: max-content auto; /* max-content = avatar width */
 | 
						|
        margin-bottom: $spacing-24;
 | 
						|
 | 
						|
        &:last-child {
 | 
						|
            margin-bottom: 0;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_InviteDialog_tile--inviterError_errorText {
 | 
						|
            grid-row-start: 2;
 | 
						|
            grid-column-start: 2;
 | 
						|
 | 
						|
            font-size: $font-15px;
 | 
						|
            color: $alert;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    * {
 | 
						|
        vertical-align: middle;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_tile_avatarStack,
 | 
						|
    .mx_InviteDialog_tile--room_selected {
 | 
						|
        width: 36px;
 | 
						|
        height: 36px;
 | 
						|
        display: inline-block;
 | 
						|
        position: relative;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_tile_avatarStack {
 | 
						|
        grid-row-start: 1;
 | 
						|
        grid-column-start: 1;
 | 
						|
 | 
						|
        & > * {
 | 
						|
            position: absolute;
 | 
						|
            top: 0;
 | 
						|
            left: 0;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_InviteDialog_tile_nameStack {
 | 
						|
        grid-row-start: 1;
 | 
						|
        grid-column-start: 2;
 | 
						|
 | 
						|
        display: flex;
 | 
						|
        flex-flow: column;
 | 
						|
        align-self: center;
 | 
						|
        align-items: baseline;
 | 
						|
        gap: 2px 0;
 | 
						|
        overflow: hidden;
 | 
						|
 | 
						|
        .mx_InviteDialog_tile_nameStack_name,
 | 
						|
        .mx_InviteDialog_tile_nameStack_userId {
 | 
						|
            overflow: hidden;
 | 
						|
            text-overflow: ellipsis;
 | 
						|
            white-space: nowrap;
 | 
						|
            max-width: 100%;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_InviteDialog_tile_nameStack_name {
 | 
						|
            font-size: $font-15px;
 | 
						|
            font-weight: var(--cpd-font-weight-semibold);
 | 
						|
            color: $primary-content;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_InviteDialog_tile_nameStack_userId {
 | 
						|
            font-size: $font-12px;
 | 
						|
            color: $muted-fg-color;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_multiInviterError {
 | 
						|
    > h4 {
 | 
						|
        font-size: $font-15px;
 | 
						|
        line-height: $font-24px;
 | 
						|
        color: $secondary-content;
 | 
						|
        font-weight: normal;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_identityServer {
 | 
						|
    margin-top: 1em;
 | 
						|
}
 | 
						|
 | 
						|
.mx_InviteDialog_oneThreepid {
 | 
						|
    font-size: $font-12px;
 | 
						|
    margin: $spacing-8 0;
 | 
						|
}
 |