mediawiki-skins-MinervaNeue/resources/skins.minerva.base.styles/content/templates/ambox.less
Jan Drewniak 59fd0cd5dc Convert all color related Less variables to CSS custom properties
All colors used in Minerva are converted from Less variables
into CSS custom properties. A new file called CSSCustomProperties.less
is created in the skins.minerva.base.styles module to store
these custom properties and an ADR is provided on the rationale for
dropping support for browsers that don't support custom properties.

The new CSS custom properties follow Codex design token conventions
where possible (and noted when not).

Link colors are unique because their styles are defined in core,
so in that case the Less variables values are set to custom properties.
Those values are then fed back into MediaWiki core for core link
styling.

Also adds a temporary night-mode color palette under the
.skin-nightmode-1 class on the <html> element.

Bug: T356074
Change-Id: Ida1f14138f12bd3c600c264bde7b5100f9dbf4ff
2024-02-02 17:57:27 +00:00

156 lines
3.8 KiB
Plaintext

@import '../../../../minerva.less/minerva.variables.less';
/**
* Ambox classes are nested in a top-level class
* for the page issues A/B test.
* This class is appended to the DOM via JS
**/
@amboxPadding: 8px;
@amboxIconPadding: @amboxPadding * 4;
.ambox,
/* Be more specific than .content table styles in Minerva */
table.ambox {
display: none;
margin: 0;
}
// Will show FOUC on mobile
.issues-group-B {
.ambox {
display: block;
}
}
.client-js .ambox {
cursor: pointer;
width: auto;
background: var( --background-color-interactive-subtle );
color: var( --color-subtle );
margin-bottom: 1px;
tbody {
display: table;
width: 100%;
}
// Assuming that most ambox templates wrap content in this element.
// See https://en.wikipedia.org/w/index.php?title=Module:Message_box&action=raw (search for 'mbox-text-span').
// https://phabricator.wikimedia.org/T206887 suggests .mbox-text-div is also needed.
.mbox-text-div,
.mbox-text-span {
display: block;
max-height: @line-height-content * 2em;
// All will have this height (approx 2 lines) even if a single line e.g. {{dictdef}} when on mobile.
// Overriden later in tablet styles.
height: @line-height-content * 2em;
overflow: hidden;
}
// Wrestle with inline styles that editors may place on elements inside the ambox
div {
// e.g. on mw-collapsible inside Multiple issues template
margin: 0 !important;
// e.g. on Template:Expand Russian
padding: 0 !important;
}
td,
div.mbox-text {
position: relative;
// Override !important above if this is a div
padding: @amboxPadding @amboxPadding @amboxPadding @amboxIconPadding !important;
> div,
> span {
font-size: @font-size-minerva-smallest;
}
}
// All text should be treated the same
b {
font-weight: inherit;
}
// Hide links in new treatment
a {
color: inherit !important;
-webkit-tap-highlight-color: rgba( 0, 0, 0, 0 ) !important;
&:hover,
&:focus {
text-decoration: none;
outline: inherit;
}
}
small,
.hide-when-compact,
/* Template:Expand Russian */
.mw-collapsible-content,
/* Remove empty leftmost column when present (.mbox-empty-cell)
* and .verbose and any hr tags that might be present in the ambox
* See https://en.wikipedia.org/w/index.php?
* title=Special:WhatLinksHere/Template:Proposed_deletion_notify
* (https://phabricator.wikimedia.org/T197265) */
.mbox-empty-cell,
hr,
.verbose,
/* Nested amboxes (multiple issues) */
table,
.mbox-image {
display: none;
}
.minerva-ambox-icon {
position: absolute;
left: @amboxPadding;
top: 11px;
}
.ambox-learn-more {
color: @color-link;
position: absolute;
right: @amboxPadding;
bottom: @amboxPadding;
z-index: @z-index-base;
line-height: @line-height-content; // sets height for fade & aligns "learn more" to ambox text.
/* creates a fade under the "learn more" button to avoid overlapping text. */
&::before {
content: '';
position: absolute;
z-index: @z-index-occluded;
bottom: 0;
right: 0;
width: 100%; // width & height defined by length of "learn more".
height: 100%;
box-sizing: content-box; // explicitly setting box-sizing so padding extends beyond 100%.
padding-left: 4em;
background: linear-gradient( to right, transparent 0, var( --background-color-interactive-subtle ) 3em );
}
}
@media screen and ( min-width: @width-breakpoint-tablet ) {
.mbox-text-div,
.mbox-text-span {
height: auto;
margin-bottom: @amboxPadding * 3 !important; // important offsets `.ambox div { margin:0!important}` which offsets inline styles.
}
.ambox-learn-more {
left: @amboxIconPadding;
right: 0;
background: none;
// Move blur to far right last line
// https://phabricator.wikimedia.org/T197931#4475197
&::before {
top: unit( -@line-height-content, em );
width: 10px;
}
}
}
}