mediawiki-skins-Vector/resources/skins.vector.styles/components/UserLinks.less

158 lines
3.6 KiB
Plaintext
Raw Normal View History

@font-size-user-links: unit( 14 / @font-size-browser, em ); // Equals `0.875em`.
// Applies to links in the overflow menu that do not have the .cdx-button class.
@overflow-link-margin: 0 8px;
/**
* Container that holds both the horizontal menu and dropdown menus.
*/
.vector-user-links {
display: flex;
align-items: center;
position: relative;
justify-content: flex-end;
flex-shrink: 1;
.mw-list-item {
margin: 0;
}
}
/**
* Both logged-in and logged-out dropdown menus.
*/
.vector-user-menu {
.vector-dropdown-content {
.mixin-vector-dropdown-content-flip();
}
// Used to hide collapsible items inside the dropdown menu
// as well as the dropdown menu itself when the menu is empty
&.user-links-collapsible-item,
.user-links-collapsible-item {
@media ( min-width: @min-width-breakpoint-tablet ) {
display: none;
}
}
}
.vector-user-links-main {
display: flex;
align-items: center;
.vector-menu-content-list {
display: flex;
align-items: center;
font-size: @font-size-user-links;
}
@media ( min-width: @min-width-breakpoint-desktop ) {
// Right margin to separate overflow menu from dropdown
margin-right: 8px;
#p-vector-user-menu-notifications,
#p-vector-user-menu-userpage,
#p-vector-user-menu-preferences {
margin-right: 8px;
}
.vector-menu-content-list {
column-gap: 8px;
}
}
@media ( max-width: @max-width-breakpoint-tablet ) {
// Only apply 8px spacing to normal links (i.e. Create account, User page)
// Links with button classes will have a larger touch area
// and therefore dont need additional spacing
a:not( .mw-echo-notifications-badge ):not( .cdx-button ) {
margin: 0 8px;
}
}
.user-links-collapsible-item {
@media ( max-width: @max-width-breakpoint-mobile ) {
display: none;
}
}
}
/**
* Horizontal links menu - logged in and logged out.
* FIXME: for cached HTML.
*/
.vector-user-links .mw-portlet-vector-user-menu-overflow {
font-size: @font-size-user-links;
.vector-menu-content-list {
display: flex;
align-items: center;
}
@media ( min-width: @min-width-breakpoint-desktop ) {
// Right margin to separate overflow menu from dropdown
margin-right: 8px;
// Separate menu items inside overflow menu
.vector-menu-content-list {
column-gap: 8px;
}
}
@media ( max-width: @max-width-breakpoint-tablet ) {
// Only apply 8px spacing to normal links (i.e. Create account, User page)
// Links with button classes will have a larger touch area
// and therefore dont need additional spacing
a:not( .mw-echo-notifications-badge ):not( .cdx-button ) {
margin: 0 8px;
}
}
.user-links-collapsible-item {
@media ( max-width: @max-width-breakpoint-mobile ) {
display: none;
}
}
}
/**
* Logged-in dropdown menu
*/
.vector-user-menu-logged-in .vector-dropdown-label {
.mixin-vector-arrowed-dropdown-toggle();
}
/**
* Dropdown menu items- Special treatment for special links.
*/
#p-user-menu-anon-editor .vector-menu-heading {
display: block;
a::before {
content: '@{msg-parentheses-start}';
}
a::after {
content: '@{msg-parentheses-end}';
}
}
//User-page link in personal (overflow) menu.
#pt-userpage-2 {
max-width: unit( 155 / @font-size-browser / @font-size-user-links, em );
a:not( .mw-selflink ) {
// T312157 Override redlink (.new) color for non-existant userpage
color: @color-link;
}
span {
.text-overflow( @visible: false );
}
// T287522#7295558: Increase the max-width of the username when viewport
// allows for it.
@media ( min-width: @min-width-breakpoint-desktop-wide ) {
max-width: unit( 200 / @font-size-browser / @font-size-user-links, em );
}
}