mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/Vector.git
synced 2024-12-01 02:37:05 +00:00
967fc5d350
Bug: T345766 Change-Id: Ib7a10d3351ad99c025237ab03ece84c1e2c1e257
127 lines
4.1 KiB
Plaintext
127 lines
4.1 KiB
Plaintext
// Note vector-feature-language-in-header-enabled class is not used here as that class
|
|
// only applies to main page.
|
|
// This must be limited to vector-page-titlebar as the mw-portlet-lang class is shared with
|
|
// the language portlet that can display in the sidebar.
|
|
.vector-page-titlebar .mw-portlet-lang {
|
|
box-sizing: border-box;
|
|
flex-shrink: 0;
|
|
|
|
// If there are no languages and JavaScript is not enabled there is no fallback so we hide
|
|
// the button altogether.
|
|
.client-nojs & .mw-portlet-lang-heading-0 {
|
|
// FIXME: remove !important after VectorZebra is the default
|
|
/* stylelint-disable-next-line declaration-no-important */
|
|
display: none !important;
|
|
}
|
|
|
|
.vector-dropdown-label {
|
|
// Prevent select of span text "X languages"
|
|
user-select: none;
|
|
// Set opacity to `1` on language button (it applies to more menu because of label color).
|
|
opacity: @opacity-base;
|
|
|
|
.vector-dropdown-label-text {
|
|
// Special treatment for language button, based on Vector font-size
|
|
font-size: @font-size-base;
|
|
}
|
|
|
|
// T291286: Temporarily use progressive ULS style
|
|
&.cdx-button--action-progressive.cdx-button--weight-quiet::after {
|
|
// !important needed to override Zebra Dropdown.less styles
|
|
// FIXME: Remove !important when Zebra is default
|
|
/* stylelint-disable-next-line declaration-no-important */
|
|
background-image: url( ./images/arrow-down-progressive.svg ) !important;
|
|
opacity: @opacity-base;
|
|
}
|
|
}
|
|
|
|
.vector-dropdown-checkbox:active + .vector-dropdown-label {
|
|
&.cdx-button--action-progressive.cdx-button--weight-quiet {
|
|
.vector-icon {
|
|
filter: brightness( 0 ) invert( 1 );
|
|
}
|
|
|
|
&::after {
|
|
// Invert arrow color
|
|
// !important needed to override Zebra Dropdown.less styles
|
|
// FIXME: Remove !important when Zebra is default
|
|
/* stylelint-disable-next-line declaration-no-important */
|
|
background-image: url( ./images/arrow-down-invert.svg ) !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.vector-dropdown-content {
|
|
// align borders of open menu align with button
|
|
box-sizing: border-box;
|
|
max-height: 65vh;
|
|
overflow: auto;
|
|
.mixin-vector-dropdown-content-flip();
|
|
|
|
li a {
|
|
font-size: inherit;
|
|
}
|
|
}
|
|
|
|
.after-portlet {
|
|
// ensure there is a visual separation between the language links and additional links.
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.mw-portlet-lang-heading-empty {
|
|
.mixin-vector-arrowed-dropdown-toggle();
|
|
}
|
|
|
|
// styles for less prominent Language button (without label) to be used for non-content pages (see T316559)
|
|
.mw-portlet-lang-heading-empty + .vector-dropdown-content {
|
|
min-width: 300px;
|
|
|
|
.mw-portlet-empty-language-selector-body {
|
|
padding: 20px;
|
|
border-bottom: @border-style-base @border-width-base @border-color-portal-heading;
|
|
color: @color-subtle;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Hides language button with CSS, ensures language button is in DOM for temporary JS hack for interwiki links
|
|
// Temporary solution to T287206, can be removed when ULS dialog includes interwiki links
|
|
#p-lang-btn.mw-portlet-empty {
|
|
display: none;
|
|
}
|
|
|
|
.mw-interlanguage-selector {
|
|
.mixin-vector-arrowed-dropdown-toggle();
|
|
}
|
|
|
|
// Hide the "Add languages" on pages which are not action=view where there are 0 languages
|
|
.vector-dropdown > .mw-portlet-lang-heading-0 {
|
|
display: none;
|
|
}
|
|
|
|
// IMPORTANT: Since dropdowns are visibility: hidden, it is important if ULS has been enabled
|
|
// and taken over the menu, that we set the dropdown to display none to avoid impacting the
|
|
// initial render. Language lists can be long (on some pages +200 links) so avoid having to
|
|
// consider them in the render at all costs! In future, we may want to reconsider this component
|
|
// and potentially use Minerva's fallback - where languages are inside the footer, but that's
|
|
// a change for another day!
|
|
.client-js .mw-portlet-lang .vector-dropdown-content {
|
|
display: none;
|
|
|
|
// ... since ULS is an optional dependency it may not be installed.
|
|
.vector-uls-disabled& {
|
|
display: inherit;
|
|
}
|
|
}
|
|
|
|
// Show it on view pages where there are 0 languages so user can add languages (JavaScript required)
|
|
.client-js .action-view .vector-dropdown {
|
|
> .mw-portlet-lang-heading-0 {
|
|
display: flex;
|
|
}
|
|
|
|
.mw-interlanguage-selector-empty:checked ~ .vector-dropdown-content {
|
|
display: inherit;
|
|
}
|
|
}
|