mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
synced 2024-11-24 07:34:11 +00:00
dedb61caf9
According to caniuse.com SVG support is available from IE > 8, Firefox > 3, Safari > 3.1 and Android > 2.3. Android 3-4.3 does not support masking. Out of all these browsers, considering market share and ResourceLoader support, none of these browsers are of concern to us. In IE8 for example we do not run JavaScript for our end users. Thus we should remove this fallback support. Changes * Remove createImgThumbnail method and its test * Groups duplicate CSS groups * Refactor createThumbnail function ** Leave a FIXME on some curious code Change-Id: I59ac2e320b2e07815bc4136d5942016fdc1d4340 Bug: T135554
302 lines
4.9 KiB
Plaintext
302 lines
4.9 KiB
Plaintext
@import "mediawiki.mixins.less";
|
|
@import "mediawiki.ui/variables";
|
|
|
|
/* Code adapted from Yair Rand's NavPopupsRestyled.js
|
|
* https://en.wikipedia.org/wiki/User:Yair_rand/NavPopupsRestyled.js
|
|
*/
|
|
|
|
#mwe-popups-svg {
|
|
position: absolute;
|
|
top: -1000px;
|
|
}
|
|
|
|
.mwe-popups-border-triangle-top(@size, @left, @color, @extra) {
|
|
content: '';
|
|
position: absolute;
|
|
border: ( @size + @extra ) solid transparent;
|
|
border-top: 0;
|
|
border-bottom: ( @size + @extra ) solid @color;
|
|
top: -@size;
|
|
/* @noflip */
|
|
left: @left;
|
|
}
|
|
|
|
.mwe-popups-border-triangle-bottom(@size, @left, @color, @extra) {
|
|
content: '';
|
|
position: absolute;
|
|
border: ( @size + @extra ) solid transparent;
|
|
border-bottom: 0;
|
|
border-top: ( @size + @extra ) solid @color;
|
|
bottom: -@size;
|
|
/* @noflip */
|
|
left: @left;
|
|
}
|
|
|
|
.mwe-popups-icon {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
cursor: pointer;
|
|
margin: 0;
|
|
margin-top: -5px;
|
|
height: 24px;
|
|
width: 30px;
|
|
border-radius: 2px;
|
|
background-position: center center;
|
|
background-repeat: no-repeat;
|
|
background-size: 24px 24px;
|
|
|
|
&:hover {
|
|
background-color: @colorGray14;
|
|
}
|
|
|
|
&:active {
|
|
background-color: @colorGray12;
|
|
}
|
|
}
|
|
|
|
.mwe-popups-settings-icon {
|
|
.background-image-svg( "images/cog.svg", "images/cog.png" );
|
|
}
|
|
|
|
.mwe-popups-survey-icon {
|
|
.background-image-svg( "images/horn-ltr.svg", "images/horn-ltr.png" );
|
|
}
|
|
|
|
.mwe-popups {
|
|
position: absolute;
|
|
z-index: 110;
|
|
background: #fff;
|
|
border: 1px solid #bbb;
|
|
.box-shadow(0 0 10px rgba( 0, 0, 0, 0.2 ));
|
|
padding: 0;
|
|
display: none;
|
|
font-size: 14px;
|
|
line-height: 20px;
|
|
min-width: 300px;
|
|
|
|
> div {
|
|
display: block;
|
|
margin-top: -9px;
|
|
padding-top: 9px;
|
|
color: #000;
|
|
text-decoration: none;
|
|
|
|
> div {
|
|
padding: 0;
|
|
margin: 16px;
|
|
padding-bottom: 48px;
|
|
}
|
|
|
|
div.mwe-popups-is-not-tall,
|
|
div.mwe-popups-is-tall {
|
|
margin: 0;
|
|
height: 250px;
|
|
width: 200px;
|
|
padding: 0;
|
|
background-size: cover;
|
|
background-repeat: no-repeat;
|
|
overflow: hidden;
|
|
/* @noflip */
|
|
float: right;
|
|
}
|
|
|
|
div.mwe-popups-is-not-tall {
|
|
height: 200px;
|
|
width: 300px;
|
|
}
|
|
|
|
> footer {
|
|
padding: 16px;
|
|
margin: 0;
|
|
font-size: 10px;
|
|
position: absolute;
|
|
bottom: 0;
|
|
/* @noflip */
|
|
left: 0;
|
|
|
|
> div.mwe-popups-timestamp-older {
|
|
color: #555;
|
|
}
|
|
|
|
> div.mwe-popups-timestamp-recent {
|
|
color: #00af89;
|
|
}
|
|
}
|
|
}
|
|
|
|
.mwe-popups-extract {
|
|
margin: 0;
|
|
padding: 16px;
|
|
display: block;
|
|
color: #000;
|
|
text-decoration: none;
|
|
|
|
&:hover {
|
|
text-decoration: none;
|
|
}
|
|
}
|
|
|
|
&.mwe-popups-is-tall {
|
|
width: 450px;
|
|
|
|
> div > a > svg {
|
|
margin-bottom: -7px;
|
|
}
|
|
|
|
.mwe-popups-extract {
|
|
width: 215px;
|
|
height: 142px;
|
|
overflow: hidden;
|
|
/* @noflip */
|
|
float: left;
|
|
}
|
|
|
|
footer {
|
|
width: 215px;
|
|
}
|
|
}
|
|
|
|
&.mwe-popups-is-not-tall {
|
|
width: 300px;
|
|
|
|
.mwe-popups-extract {
|
|
max-height: 120px;
|
|
overflow: hidden;
|
|
margin-bottom: 47px;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
footer {
|
|
width: 270px;
|
|
}
|
|
}
|
|
|
|
/* Triangles/Pokeys */
|
|
&.mwe-popups-no-image-tri {
|
|
&:after {
|
|
.mwe-popups-border-triangle-top( 7px, 7px, #fff, 4px);
|
|
}
|
|
|
|
&:before {
|
|
.mwe-popups-border-triangle-top( 8px, 10px, #bbb, 0px);
|
|
}
|
|
}
|
|
|
|
&.flipped_x.mwe-popups-no-image-tri {
|
|
&:after {
|
|
/* @noflip */
|
|
left: auto;
|
|
/* @noflip */
|
|
right: 7px;
|
|
}
|
|
|
|
&:before {
|
|
/* @noflip */
|
|
left: auto;
|
|
/* @noflip */
|
|
right: 10px;
|
|
}
|
|
}
|
|
|
|
&.mwe-popups-image-tri {
|
|
&:before {
|
|
z-index: 111;
|
|
.mwe-popups-border-triangle-top(9px, 9px, #bbb, 0px);
|
|
}
|
|
|
|
&:after {
|
|
.mwe-popups-border-triangle-top(8px, 6px, #fff, 4px);
|
|
z-index: 112;
|
|
}
|
|
|
|
&.flipped_x {
|
|
&:before {
|
|
z-index: 111;
|
|
.mwe-popups-border-triangle-top(9px, 273px, #bbb, 0px);
|
|
}
|
|
|
|
&:after {
|
|
.mwe-popups-border-triangle-top(8px, 269px, #fff, 4px);
|
|
z-index: 112;
|
|
}
|
|
}
|
|
|
|
.mwe-popups-extract {
|
|
padding-top: 32px;
|
|
margin-top: 190px;
|
|
}
|
|
|
|
> div > a > svg {
|
|
margin-top: -8px;
|
|
position: absolute;
|
|
z-index: 113;
|
|
/* @noflip */
|
|
left: 0;
|
|
}
|
|
}
|
|
|
|
&.flipped_x.mwe-popups-is-tall {
|
|
min-height: 242px;
|
|
|
|
&:before {
|
|
z-index: 111;
|
|
.mwe-popups-border-triangle-top(9px, 420px, #bbb, 0px);
|
|
}
|
|
|
|
> div > a > svg {
|
|
margin: 0;
|
|
margin-top: -8px;
|
|
margin-bottom: -7px;
|
|
position: absolute;
|
|
z-index: 113;
|
|
/* @noflip */
|
|
right: 0;
|
|
}
|
|
}
|
|
|
|
&.flipped_x_y {
|
|
&:before {
|
|
z-index: 111;
|
|
.mwe-popups-border-triangle-bottom(9px, 272px, #bbb, 0px);
|
|
}
|
|
|
|
&:after {
|
|
.mwe-popups-border-triangle-bottom(8px, 269px, #fff, 4px);
|
|
z-index: 112;
|
|
}
|
|
|
|
&.mwe-popups-is-tall {
|
|
min-height: 242px;
|
|
|
|
&:after {
|
|
z-index: 112;
|
|
.mwe-popups-border-triangle-bottom(8px, 417px, #fff, 4px);
|
|
}
|
|
|
|
&:before {
|
|
z-index: 111;
|
|
.mwe-popups-border-triangle-bottom(9px, 420px, #bbb, 0px);
|
|
}
|
|
|
|
> div > a > svg {
|
|
position: absolute;
|
|
z-index: 113;
|
|
margin: 0;
|
|
margin-bottom: -9px;
|
|
/* @noflip */
|
|
right: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.flipped_y {
|
|
&:after {
|
|
.mwe-popups-border-triangle-bottom( 7px, 7px, #fff, 4px );
|
|
}
|
|
|
|
&:before {
|
|
.mwe-popups-border-triangle-bottom( 8px, 10px, #bbb, 0px );
|
|
}
|
|
}
|
|
}
|