mediawiki-extensions-Popups/resources/ext.popups.core.less
jdlrobson dedb61caf9 Drop support for non-SVG browsers
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
2016-05-31 15:23:07 -07:00

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 );
}
}
}