2020-02-28 20:06:33 +00:00
|
|
|
@import '../../variables.less';
|
2020-03-30 20:07:35 +00:00
|
|
|
@import 'mediawiki.mixins.less';
|
|
|
|
@import './layout.less';
|
2020-05-15 00:58:21 +00:00
|
|
|
@import 'legacy/Sidebar.less';
|
2020-03-30 20:07:35 +00:00
|
|
|
@import 'checkboxHack.less';
|
2020-05-26 17:38:24 +00:00
|
|
|
|
2020-06-23 02:43:28 +00:00
|
|
|
@margin-horizontal-sidebar-button-icon: 12px;
|
|
|
|
|
2020-05-26 17:38:24 +00:00
|
|
|
.mw-sidebar-action {
|
|
|
|
// Align with the portal heading/links
|
|
|
|
// `.portal` + `.portal .body`
|
|
|
|
margin: 8px @margin-end-portal 8px @margin-start-portal + @margin-start-portal-body;
|
|
|
|
}
|
|
|
|
|
|
|
|
.mw-sidebar-action-link {
|
|
|
|
font-size: @font-size-portal-list-item;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
2020-03-30 20:07:35 +00:00
|
|
|
|
2020-06-23 02:43:28 +00:00
|
|
|
#mw-sidebar-button {
|
|
|
|
// Override minimum dimensions set by mw-ui-icon.mw-ui-icon-element.
|
|
|
|
min-width: @size-sidebar-button;
|
|
|
|
min-height: @size-sidebar-button;
|
|
|
|
width: @size-sidebar-button;
|
|
|
|
height: @size-sidebar-button;
|
|
|
|
border: 1px solid transparent;
|
|
|
|
border-radius: @border-radius-base;
|
|
|
|
margin-left: -@margin-horizontal-sidebar-button-icon;
|
|
|
|
margin-right: @margin-horizontal-sidebar-button-icon; // Accidentally the same.
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
// FIXME: the icon itself is supposed to be 20px. mediawiki.ui uses 24px.
|
|
|
|
// As soon as mediawiki.ui is standardized, remove this override. See T191021.
|
|
|
|
min-width: 20px;
|
|
|
|
min-height: 20px;
|
|
|
|
height: 100%;
|
|
|
|
// Center it horizontally.
|
|
|
|
margin: 0 @margin-horizontal-sidebar-button-icon;
|
|
|
|
// Equals `#555`, closest to `#54595d` on background-color `#fff`.
|
|
|
|
opacity: 0.67;
|
2020-03-30 20:07:35 +00:00
|
|
|
}
|
|
|
|
|
2020-06-23 02:43:28 +00:00
|
|
|
&:hover {
|
|
|
|
background-color: @background-color-frameless--hover;
|
2020-03-30 20:07:35 +00:00
|
|
|
|
|
|
|
&:before {
|
2020-06-23 02:43:28 +00:00
|
|
|
opacity: 1;
|
2020-05-29 21:52:36 +00:00
|
|
|
}
|
2020-03-30 20:07:35 +00:00
|
|
|
}
|
|
|
|
|
2020-06-23 16:21:25 +00:00
|
|
|
&:focus {
|
|
|
|
// Next three rules from OOUI, frameless, icon-only button widget.
|
|
|
|
outline: 0;
|
|
|
|
border-color: @color-primary;
|
|
|
|
.box-shadow( inset 0 0 0 1px @color-primary );
|
|
|
|
}
|
2020-06-23 02:43:28 +00:00
|
|
|
}
|
2020-03-30 20:07:35 +00:00
|
|
|
|
2020-06-23 02:43:28 +00:00
|
|
|
// Use the MediaWiki checkbox hack class from checkboxHack.less. This class exists on the
|
|
|
|
// checkbox input for the menu panel.
|
2020-06-23 16:21:25 +00:00
|
|
|
#mw-sidebar-checkbox:not( :checked ) ~ .mw-header .mw-sidebar {
|
2020-06-23 02:43:28 +00:00
|
|
|
// Turn off presentation so that screen readers get the same effect as visually hiding.
|
|
|
|
// Visibility and opacity can be animated. If animation is unnecessary, use `display: none`
|
|
|
|
// instead to avoid hidden rendering.
|
|
|
|
visibility: hidden;
|
|
|
|
opacity: 0;
|
|
|
|
.transform( translateX( -100% ) );
|
2020-03-30 20:07:35 +00:00
|
|
|
}
|
|
|
|
|
2020-05-28 20:19:06 +00:00
|
|
|
// Disable transitions on page load. No-JS users will unfortunately miss out. A similar pattern is
|
|
|
|
// used in Minerva's DropDownList. See enableCssAnimations() in skin.vector.js/index.js for context
|
|
|
|
// and additional details on how this class is added.
|
|
|
|
.vector-animations-ready {
|
|
|
|
// Enable sidebar transitions on desktop width only.
|
|
|
|
.mw-sidebar {
|
|
|
|
@media ( min-width: @width-breakpoint-desktop ) {
|
|
|
|
@timing: @transition-duration-base ease-out;
|
|
|
|
.transition( transform @timing, opacity @timing, visibility @timing; );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Enable sidebar button transitions.
|
2020-06-23 02:43:28 +00:00
|
|
|
#mw-sidebar-button {
|
2020-05-28 20:19:06 +00:00
|
|
|
.transition(
|
|
|
|
background-color @transition-duration-base,
|
|
|
|
border-color @transition-duration-base,
|
|
|
|
box-shadow @transition-duration-base;
|
|
|
|
);
|
2020-03-30 20:07:35 +00:00
|
|
|
}
|
|
|
|
}
|