/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserMenu {
    box-sizing: border-box;
    display: flex;
    align-items: center;

    .mx_AccessibleButton {
        display: flex;
        align-items: center;

        .mx_UserMenu_userAvatar {
            position: relative;

            .mx_BaseAvatar {
                pointer-events: none; /* makes the avatar non-draggable */
            }
        }
    }

    .mx_UserMenu_contextMenuButton {
        width: 100%;
    }

    .mx_UserMenu_name {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: $font-15px;
        line-height: $font-24px;
        margin-left: 10px;
    }
}

.mx_IconizedContextMenu {
    &.mx_UserMenu_contextMenu {
        width: 258px;
    }
}

.mx_UserMenu_contextMenu {
    &.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red {
        .mx_AccessibleButton {
            padding-top: 16px;
            padding-bottom: 16px;
        }
    }

    .mx_UserMenu_contextMenu_header {
        padding: 20px;

        /* Create a flexbox to organize the header a bit easier */
        display: flex;
        align-items: center;

        .mx_UserMenu_contextMenu_name {
            /* Create another flexbox of columns to handle large user IDs */
            display: flex;
            flex-direction: column;
            width: calc(100% - 40px); /* 40px = 32px theme button + 8px margin to theme button */

            .mx_UserMenu_contextMenu_displayName,
            .mx_UserMenu_contextMenu_userId {
                font: var(--cpd-font-body-lg-regular);

                /* Automatically grow subelements to fit the container */
                flex: 1;
                width: 100%;

                /* Ellipsize text overflow */
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
            }

            .mx_UserMenu_contextMenu_displayName {
                font-weight: var(--cpd-font-weight-semibold);
            }
        }

        .mx_UserMenu_contextMenu_themeButton {
            flex-shrink: 0;
            margin-left: 8px;

            /* to make alignment easier, create flexbox for the image */
            display: flex;
            align-items: center;
            justify-content: center;

            /* For enhanced visibility under contrast control */
            outline: 1px solid transparent;

            /* Compound overrides to match transitional designs */
            padding: var(--cpd-space-2x);
            svg {
                width: 16px;
                height: 16px;
            }
        }

        &.mx_UserMenu_contextMenu_guestPrompts {
            padding-top: 0;
            display: inline-block;

            > span {
                font-weight: var(--cpd-font-weight-semibold);
                display: block;

                & + span {
                    margin-top: 8px;
                }
            }
        }
    }

    .mx_IconizedContextMenu_icon svg {
        color: $icon-button-color;
    }
}
