Merge "RC filters: custom help link for beta users"
[lhc/web/wiklou.git] / resources / src / mediawiki.ui / components / icons.less
1 @import 'mediawiki.mixins';
2 @import 'mediawiki.ui/variables';
3
4 // Mixins
5 .mixin-mw-ui-icon-bgimage( @iconSvg, @iconPng ) {
6 &.mw-ui-icon {
7 &:before {
8 .background-image-svg( @iconSvg, @iconPng );
9 }
10 }
11 }
12
13 // Icons
14 //
15 // To use icons you must be using a browser that supports pseudo elements.
16 // This includes support for IE 8.
17 // http://caniuse.com/#feat=css-gencontent
18 //
19 // For elements that are intended to have both an icon and text, browsers that
20 // do not support pseudo-selectors will degrade to text-only.
21 //
22 // However, icon-only elements do not yet degrade to text-only elements in these
23 // browsers.
24 //
25 // Styleguide 6.
26
27 .mw-ui-icon {
28 position: relative;
29 line-height: @iconSize;
30 min-height: @iconSize;
31 min-width: @iconSize;
32
33 // Standalone icons
34 //
35 // Markup:
36 // <div class="mw-ui-icon mw-ui-icon-element mw-ui-icon-ok">OK</div><br>
37 // <div class="mw-ui-icon mw-ui-icon-element mw-ui-icon-ok mw-ui-button mw-ui-progressive">OK</div><br>
38 // <button class="mw-ui-icon mw-ui-icon-ok mw-ui-icon-element mw-ui-button mw-ui-quiet" title="">Close</button>
39 //
40 // Styleguide 6.1.1.
41 &.mw-ui-icon-element {
42 @width: @iconSize + ( 2 * @iconGutterWidth );
43
44 text-indent: -999px;
45 overflow: hidden;
46 width: @width;
47 min-width: @width;
48 max-width: @width;
49
50 &:before {
51 left: 0;
52 right: 0;
53 position: absolute;
54 margin: 0 @iconGutterWidth;
55 }
56 }
57
58 &.mw-ui-icon-before:before,
59 &.mw-ui-icon-element:before {
60 background-position: 50% 50%;
61 background-repeat: no-repeat;
62 background-size: 100% auto;
63 float: left;
64 display: block;
65 min-height: @iconSize;
66 content: '';
67 }
68
69 // Icons with text
70 //
71 // Markup:
72 // <div class="mw-ui-icon mw-ui-icon-before mw-ui-icon-ok">OK</div>
73 // <div class="mw-ui-icon mw-ui-icon-before mw-ui-icon-ok mw-ui-progressive mw-ui-button">OK</div>
74 //
75 // Styleguide 6.1.2
76 &.mw-ui-icon-before {
77 &:before {
78 position: relative;
79 width: @iconSize;
80 margin-right: @iconGutterWidth;
81 }
82 }
83
84 // Icons small for elements like indicators
85 //
86 // Markup:
87 // <div class="mw-ui-icon mw-ui-icon-small mw-ui-icon-help"></div>
88 //
89 // Styleguide 6.1.3
90 &.mw-ui-icon-small:before {
91 background-size: 66.67% auto; // 66.67% of 24px equals 16px
92 }
93 }