X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.less%2Fmediawiki.mixins.less;h=ea0b95993d20b11bd49eeaf4e4ecdf78768b2ce0;hp=4cca1a62bd2707a0098ff676798a41e14550bf2a;hb=235e92846eb6fd132f28ec5e05240e3821542ac8;hpb=ea79f57eb0d9d614c08dd31cd4eeb50132182c10 diff --git a/resources/src/mediawiki.less/mediawiki.mixins.less b/resources/src/mediawiki.less/mediawiki.mixins.less index 4cca1a62bd..ea0b95993d 100644 --- a/resources/src/mediawiki.less/mediawiki.mixins.less +++ b/resources/src/mediawiki.less/mediawiki.mixins.less @@ -1,7 +1,7 @@ // Common Less mixin library for MediaWiki // // By default the folder containing this file is included in $wgResourceLoaderLESSImportPaths, -// which makes this file importable by all less files via '@import "mediawiki.mixins";'. +// which makes this file importable by all less files via `@import 'mediawiki.mixins';`. // // The mixins included below are considered a public interface for MediaWiki extensions. // The signatures of parametrized mixins should be kept as stable as possible. @@ -42,6 +42,12 @@ background-image: -o-linear-gradient( transparent, transparent ), url( @fallback ); } +// Shorthand for background-image-svg. Use if your PNG and SVG have the same name +// and only if you cannot use ResourceLoaderImage module for some particular reason. +.background-image-svg-quick( @url ) { + .background-image-svg( ~'@{url}.svg', ~'@{url}.png' ); +} + .list-style-image( @url ) { list-style-image: e( '/* @embed */' ) url( @url ); } @@ -52,12 +58,32 @@ list-style-image: e( '/* @embed */' ) url( @fallback ) e( '\9' ); } +.transform( @value ) { + -webkit-transform: @value; // Safari 3.1-8.0, iOS 3.2-8.4, Android 2.1-4.4.4 + -moz-transform: @value; // Firefox 3.5-15 + transform: @value; // Chrome 36+, Firefox 16+, IE 10+, Safari 9+, Opera 23+, iOS 9.2+, Android 5+ +} + .transition( @value ) { -webkit-transition: @value; // Safari 3.1-6.0, iOS 3.2-6.1, Android 2.1-4.3 -moz-transition: @value; // Firefox 4-15 transition: @value; // Chrome 26+, Firefox 16+, IE 10+, Safari 6.1+, Opera 12.1+, iOS 7+, Android 4.4+ } +// Provide a hardware accelerated transform transition +// We can't use `.transition()` because WebKit requires `-webkit-` prefix before `transform` +// Example usage: `.transition-transform( 1s, opacity 2s );` +// First parameter is additional options for `transform` transition commencing with +// duration property @see https://www.w3.org/TR/css3-transitions/#transition-duration-property +// and remaining parameters are additional transitions." +.transition-transform( ... ) { + -webkit-backface-visibility: hidden; // Older Webkit browsers: Promote element to a composite layer & involve the GPU + + -webkit-transition: -webkit-transform @arguments; // Safari 3.1-8, iOS 3.2-8.4, Android 2.1-4.4.4 + -moz-transition: -moz-transform @arguments; // Firefox 4-15 for `-moz-transition` + transition: transform @arguments; // Chrome 36+, Firefox 16+, IE 10+, Safari 9+, Opera 12.1+, iOS 9.2+, Android 36+ +} + .box-sizing( @value ) { -webkit-box-sizing: @value; // Safari 3.1-5.0, iOS 3.2-4.3, Android 2.1-3.0 -moz-box-sizing: @value; // Firefox 4-28, @@ -88,9 +114,9 @@ } .flex-display( @display: flex ) { - display: ~"-webkit-@{display}"; // iOS 6-, Safari 3.1-6 - display: ~"-moz-@{display}"; // Firefox 21- - display: ~"-ms-@{display}box"; // IE 10 + display: ~'-webkit-@{display}'; // iOS 6-, Safari 3.1-6 + display: ~'-moz-@{display}'; // Firefox 21- + display: ~'-ms-@{display}box'; // IE 10 display: @display; } @@ -145,17 +171,13 @@ &::placeholder { @rules(); } - // For inputs that use jquery.placeholder.js e.g. IE9 - &.placeholder { - @rules(); - } } /* stylelint-enable selector-no-vendor-prefix, at-rule-no-unknown */ // Screen Reader Helper Mixin .mixin-screen-reader-text() { display: block; - position: absolute !important; + position: absolute !important; /* stylelint-disable-line declaration-no-important */ clip: rect( 1px, 1px, 1px, 1px ); width: 1px; height: 1px;