2019-08-01 20:35:10 +00:00
|
|
|
// Component of ui.less
|
2020-02-03 08:15:44 +00:00
|
|
|
// FIXME: Discuss the components folder with team and possibly move to components/
|
2019-08-08 20:01:03 +00:00
|
|
|
@import '../../minerva.less/minerva.variables.less';
|
|
|
|
@import '../../minerva.less/minerva.mixins.less';
|
2019-08-01 20:35:10 +00:00
|
|
|
|
2019-11-26 05:02:40 +00:00
|
|
|
// stylelint-disable no-descending-specificity, selector-max-id
|
2019-08-01 20:35:10 +00:00
|
|
|
|
|
|
|
// .menu
|
|
|
|
#mw-mf-page-left {
|
2019-08-05 20:41:12 +00:00
|
|
|
position: fixed;
|
|
|
|
top: 0;
|
|
|
|
left: 0;
|
|
|
|
bottom: 0;
|
|
|
|
min-width: 275px;
|
2019-12-18 19:23:09 +00:00
|
|
|
visibility: hidden;
|
2019-08-05 20:41:12 +00:00
|
|
|
|
|
|
|
@media screen and ( min-width: @width-breakpoint-tablet ) {
|
|
|
|
min-width: @width-breakpoint-mobile;
|
|
|
|
}
|
|
|
|
// It should always be possible to dismiss the menu by tapping outside of it.
|
|
|
|
max-width: 80%;
|
|
|
|
z-index: @z-indexDrawer;
|
2019-08-01 20:35:10 +00:00
|
|
|
// Add vertical scrollbar as needed.
|
|
|
|
overflow-y: auto;
|
2019-08-05 20:41:12 +00:00
|
|
|
background-color: @primaryNavBackgroundColor;
|
|
|
|
.transform( translate( -100%, 0 ) );
|
2019-08-01 20:35:10 +00:00
|
|
|
|
|
|
|
ul {
|
|
|
|
padding-bottom: 22px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-12-18 19:23:09 +00:00
|
|
|
// TODO: combined with `.mw-mf-page-center__mask` & create a separate "masks" module.
|
|
|
|
.main-menu-mask {
|
|
|
|
position: fixed;
|
|
|
|
top: 0;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
opacity: 0;
|
|
|
|
bottom: 0;
|
|
|
|
background: @semiTransparent;
|
|
|
|
z-index: @z-indexAboveContent;
|
|
|
|
// don't use display: none because it's not animatable
|
|
|
|
visibility: hidden;
|
|
|
|
}
|
|
|
|
|
|
|
|
#main-menu-input:checked ~ .main-menu-mask {
|
|
|
|
visibility: visible;
|
|
|
|
opacity: 0.5;
|
|
|
|
}
|
|
|
|
|
|
|
|
#main-menu-input:checked ~ #mw-mf-page-left {
|
|
|
|
visibility: visible;
|
2019-12-24 11:16:49 +00:00
|
|
|
box-shadow: 1px 0 8px 0 @grayDrawerShadow;
|
2019-12-18 19:23:09 +00:00
|
|
|
.transform( translate( 0, 0 ) );
|
|
|
|
}
|
|
|
|
|
2020-01-07 21:27:29 +00:00
|
|
|
// Without the minerva-animations-ready class, the main menu can appear and
|
|
|
|
// perform its exit animation when the page loads in chrome (and possibly
|
|
|
|
// others).
|
|
|
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=332189
|
|
|
|
.minerva-animations-ready {
|
2019-12-18 19:23:09 +00:00
|
|
|
#mw-mf-page-left {
|
|
|
|
.transition(
|
|
|
|
// Animate menu visibility, opacity, and translation changes in and out. Visibility duration
|
|
|
|
// cannot be animated initially as it causes a flash on page load in Chromium due to
|
|
|
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=332189.
|
|
|
|
opacity @transition-duration-medium @transition-timing-function-menu,
|
|
|
|
visibility @transition-duration-medium @transition-timing-function-menu,
|
|
|
|
transform @transition-duration-medium @transition-timing-function-menu; );
|
|
|
|
}
|
|
|
|
|
|
|
|
.main-menu-mask {
|
|
|
|
.transition(
|
|
|
|
opacity @transition-duration-base @transition-timing-function-menu,
|
|
|
|
visibility 0ms linear @transition-duration-base;
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
#main-menu-input:checked ~ .main-menu-mask {
|
|
|
|
.transition( opacity @transition-duration-base @transition-timing-function-menu;);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-08-05 20:41:12 +00:00
|
|
|
// Special:MobileMenu
|
|
|
|
.navigation-full-screen {
|
|
|
|
// .menu
|
|
|
|
#mw-mf-page-left {
|
|
|
|
max-width: none;
|
2019-09-03 22:00:27 +00:00
|
|
|
.transform( none );
|
2019-08-05 20:41:12 +00:00
|
|
|
}
|
|
|
|
}
|