mediawiki-skins-Vector/resources/skins.vector.styles/components/MainMenu.less
bwang 6c817e932f Use features.js for main menu pinning functionality
- Register new feature for main menu pinned
- Update UserPreferenceRequirement to optionally handle default config values
- Add nav landmarks for the main menu

Bug: T317900
Change-Id: I8fc6e0a79a1155d68afb9e33e5101a2a160dc4e5
2022-12-16 12:56:54 -06:00

123 lines
3.3 KiB
Plaintext

@import '../../common/variables.less';
@import '../../common/mixins.less';
@import 'mediawiki.mixins.less';
@import '../layouts/screen.less';
@import './checkboxHack.less';
// Ensure there is only 1 main menu landmark at anytime
.vector-main-menu-landmark {
.vector-feature-page-tools-enabled.vector-feature-main-menu-pinned-enabled .vector-header-start &,
.vector-feature-page-tools-enabled.vector-feature-main-menu-pinned-disabled .vector-main-menu-container & {
display: none;
}
}
.vector-feature-page-tools-disabled {
@media ( max-width: @max-width-tablet ) {
// FIXME: Remove .vector-main-menu-contents from this selector after I59b3acd3d56cd5761e5978607634dfb9a88f60e3 has been in prod for 5 days
.vector-main-menu-contents,
.vector-main-menu {
// Makes the sidebar full screen at lower resolutions.
width: 100%;
}
}
// Hide sidebar entirely when the checkbox is disabled
// FIXME: Remove .vector-main-menu-contents from this selector after I59b3acd3d56cd5761e5978607634dfb9a88f60e3 has been in prod for 5 days
@{selector-main-menu-closed} ~ .vector-main-menu-container .vector-main-menu-contents,
@{selector-main-menu-closed} ~ .vector-main-menu-container .vector-main-menu {
display: none;
}
}
// FIXME: Remove .vector-main-menu-contents from this selector after I59b3acd3d56cd5761e5978607634dfb9a88f60e3 has been in prod for 5 days
.vector-main-menu-contents,
.vector-main-menu {
box-sizing: border-box;
// Hide #p-navigation label
#p-navigation .vector-menu-heading {
display: none;
}
}
// Main menu when pinned in the sidebar
// FIXME: Remove .vector-main-menu-contents from this selector after I59b3acd3d56cd5761e5978607634dfb9a88f60e3 has been in prod for 5 days
.vector-main-menu-contents,
.vector-feature-page-tools-disabled .vector-main-menu,
.vector-main-menu-pinned-container .vector-main-menu {
// Temporary magic number, will be calculated after TOC specs are finalized
padding: 12px 19px 12px 9px;
background-color: @background-color-secondary--modern;
@media ( min-width: @min-width-desktop ) {
// Magic number from the edge of the main menu to the start of the main menu text.
margin-left: -28px;
}
}
// Main menu when unpinned in the dropdown
.vector-main-menu-unpinned-container .vector-main-menu {
width: 250px;
display: flex;
flex-direction: column;
.vector-menu-heading,
.vector-main-menu-group {
margin: 0;
}
.vector-menu-content {
margin-left: 0;
}
}
.vector-main-menu-action {
// Styles for MainMenuAction template.
.vector-main-menu-action-item {
// Align with the portal heading/links
// `.portal` + `.portal .body`
margin-top: 4px;
margin-bottom: 4px;
.vector-main-menu-action-heading {
margin-bottom: 0.75em;
}
.vector-main-menu-action-content {
> * {
font-size: @font-size-portal-list-item;
}
> a {
font-weight: bold;
}
}
// T295555 style overrides for temporary language switch alert (can be removed later ).
.vector-language-sidebar-alert {
padding: 0.75em;
}
}
}
#mw-sidebar-button {
&:before {
/* @embed */
.vector-feature-page-tools-disabled & {
background-image: url( images/chevronHorizontal-ltr.svg );
}
.vector-feature-page-tools-disabled @{selector-main-menu-closed} ~ .mw-header & {
/* @embed */
background-image: url( images/menu.svg );
}
}
&:hover {
&:before {
opacity: 1;
}
}
}