mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue
synced 2024-12-18 00:30:40 +00:00
6f98cc6460
Remove direct usage of CSS variables in Minerva, and replace them with codex design tokens again. Document this decision in the original ADR Note: there are still a small number of CSS variables in use, including most notably the --color-link-red fix, which broke when I removed it, but this change takes care of all the ones that could be easily replaced Bug: T363743 Change-Id: I7d3a9dceb908167078987de1733774c8bd4bea2f
89 lines
2.4 KiB
Plaintext
89 lines
2.4 KiB
Plaintext
// Component of ui.less
|
|
@import '../../minerva.less/minerva.variables.less';
|
|
|
|
// stylelint-disable no-descending-specificity, selector-max-id
|
|
|
|
// .menu
|
|
#mw-mf-page-left {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
min-width: 275px;
|
|
visibility: hidden;
|
|
|
|
@media screen and ( min-width: @min-width-breakpoint-tablet ) {
|
|
min-width: @min-width-breakpoint-mobile;
|
|
}
|
|
// It should always be possible to dismiss the menu by tapping outside of it.
|
|
max-width: 80%;
|
|
z-index: @z-index-drawer;
|
|
// Add vertical scrollbar as needed.
|
|
overflow-y: auto;
|
|
background-color: @background-color-interactive;
|
|
transform: translate( -100%, 0 );
|
|
|
|
ul {
|
|
padding-bottom: 22px;
|
|
}
|
|
}
|
|
|
|
// 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: @opaque;
|
|
z-index: @z-index-above-content;
|
|
// 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;
|
|
box-shadow: @box-shadow-drop-medium;
|
|
transform: translate( 0, 0 );
|
|
}
|
|
|
|
// 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 {
|
|
#mw-mf-page-left {
|
|
// 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.
|
|
transition: 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;
|
|
}
|
|
}
|
|
|
|
// T264376 - disable animations on browsers impacted by bug
|
|
.hotfix-T264376 {
|
|
.main-menu-mask {
|
|
display: none;
|
|
}
|
|
|
|
#main-menu-input:checked ~ .main-menu-mask {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
// stylelint-enable no-descending-specificity, selector-max-id
|