mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/Vector.git
synced 2025-01-20 02:15:50 +00:00
3cea6d4132
This change scopes the styles related to the Zebra update by wrapping the imports in a top-level feature flag selector, i.e .vector-feature-zebra-design-enabled { @import "./screen.less" } To account for this extra selector, ampersands are added wherever the html element is targeted in the affected files. This applies to both zebra enabled and disabled files. getDefaultModules() is used in SkinVector22.php to conditionally load the new skins.vector.zebra.styles module when the feature is enabled. Bug: T332600 Change-Id: I5e673df383ff31f296010f982e4188c82f095590
150 lines
3.8 KiB
Plaintext
150 lines
3.8 KiB
Plaintext
@import '../../common/variables.less';
|
|
|
|
/**
|
|
* Checkbox hack used by collapsed TOC on narrow viewports for no JS users.
|
|
* Although it's display:none, the :checked state is still affected when clicking
|
|
* the associated label.
|
|
*/
|
|
#vector-toc-collapsed-checkbox {
|
|
display: none;
|
|
}
|
|
|
|
.vector-toc {
|
|
max-height: 75vh;
|
|
box-sizing: border-box;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
background-color: @background-color-page-container;
|
|
|
|
.vector-pinnable-header-label {
|
|
// Override heading element styles in elements.less
|
|
overflow: unset;
|
|
}
|
|
|
|
.vector-toc-numb {
|
|
display: none;
|
|
}
|
|
|
|
.vector-toc-toggle {
|
|
// For no-js users, toggling is disabled and icon is hidden
|
|
display: none;
|
|
position: absolute;
|
|
top: 1px; // visually center icon
|
|
left: ~'calc( -1 * @{size-toc-subsection-toggle-icon} - 1px )'; // leaves 6px between icon + text
|
|
width: @size-toc-subsection-toggle-icon; // ~22px @ 12
|
|
height: @size-toc-subsection-toggle-icon;
|
|
font-size: 0.75em; // reduces size of toggle icon to 12px @ 16
|
|
transition: @transition-duration-base;
|
|
color: transparent;
|
|
cursor: pointer;
|
|
// Vertically center the icon with the text
|
|
margin-top: 2px;
|
|
}
|
|
|
|
.vector-toc-link {
|
|
word-break: break-word;
|
|
color: @color-link;
|
|
display: block;
|
|
}
|
|
|
|
// Highlight and bold active sections, active top sections that are unexpanded
|
|
// and active top sections that are the only active element.
|
|
.vector-toc-list-item-active,
|
|
.vector-toc-level-1-active:not( .vector-toc-list-item-expanded ),
|
|
.vector-toc-list-item-active.vector-toc-level-1-active {
|
|
> .vector-toc-link {
|
|
// Highlight active section
|
|
color: @color-base;
|
|
font-weight: bold;
|
|
|
|
.vector-toc-text {
|
|
// Increase width to prevent line wrapping due to bold text
|
|
// Avoid applying on link element to avoid focus indicator changing size
|
|
width: ~'calc( 100% + @{padding-horizontal-dropdown-menu-item} )';
|
|
}
|
|
}
|
|
}
|
|
|
|
// Highlight active top sections that contain an active section
|
|
.vector-toc-level-1-active:not( .vector-toc-list-item-active ) > .vector-toc-link {
|
|
color: @color-base;
|
|
}
|
|
|
|
.vector-toc-text {
|
|
// Match .mixin-vector-dropdown-menu-item() vertical padding
|
|
padding: @padding-vertical-dropdown-menu-item 0;
|
|
}
|
|
|
|
.vector-toc-contents,
|
|
.vector-toc-list {
|
|
margin: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.vector-toc-list-item {
|
|
display: block;
|
|
position: relative;
|
|
list-style-type: none;
|
|
padding-left: 8px;
|
|
margin: 0;
|
|
|
|
&.vector-toc-level-1 {
|
|
padding-left: 0;
|
|
}
|
|
|
|
a {
|
|
font-size: @font-size-base;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Collapse ToC sections by default, excluding no-js
|
|
&.client-js .vector-toc {
|
|
.vector-toc-level-1 .vector-toc-list-item {
|
|
display: none;
|
|
}
|
|
|
|
.vector-toc-level-1.vector-toc-list-item-expanded .vector-toc-list-item {
|
|
display: block;
|
|
}
|
|
|
|
.vector-toc-toggle {
|
|
display: block;
|
|
}
|
|
|
|
.vector-toc-level-1.vector-toc-list-item-expanded .vector-toc-toggle {
|
|
transform: rotate( 0deg );
|
|
}
|
|
}
|
|
|
|
&.client-js body.ltr .vector-toc .vector-toc-toggle {
|
|
transform: rotate( -90deg );
|
|
}
|
|
|
|
&.client-js body.rtl .vector-toc .vector-toc-toggle {
|
|
transform: rotate( 90deg );
|
|
}
|
|
|
|
// Ensure there is only 1 table of contents landmark at anytime
|
|
.vector-toc-landmark {
|
|
display: none;
|
|
}
|
|
|
|
&.vector-feature-toc-pinned-disabled body:not( .vector-sticky-header-visible ) .vector-page-titlebar .vector-toc-landmark,
|
|
&.vector-feature-toc-pinned-disabled .vector-sticky-header-visible .vector-sticky-header .vector-toc-landmark,
|
|
&.vector-feature-toc-pinned-enabled .mw-table-of-contents-container.vector-toc-landmark {
|
|
display: block;
|
|
}
|
|
|
|
// On smaller viewports the TOC will always be moved to the page titlebar via JS
|
|
// regardless of the TOC pinned classes
|
|
@media ( max-width: @max-width-tablet ) {
|
|
&.client-js .vector-page-titlebar .vector-toc-landmark {
|
|
display: block;
|
|
}
|
|
|
|
&.client-js .mw-table-of-contents-container.vector-toc-landmark {
|
|
display: none;
|
|
}
|
|
}
|