Merge "Fix highlight display for enhanced mode"
[lhc/web/wiklou.git] / resources / src / mediawiki.rcfilters / styles / mw.rcfilters.ui.ChangesListWrapperWidget.less
1 @import 'mw.rcfilters.mixins';
2
3 @keyframes fadeBlue {
4 60% {
5 border-top-color: #36c;
6 }
7 100% {
8 border-top-color: #c8ccd1;
9 }
10 }
11
12 .mw-rcfilters-ui-changesListWrapperWidget {
13
14 &-newChanges {
15 min-height: 34px;
16 margin: 8px 0 0 0;
17 text-align: center;
18 }
19
20 &-previousChangesIndicator {
21 margin: 10px 0;
22 border-top: 2px solid #c8ccd1;
23 animation: 1s ease fadeBlue;
24 }
25
26 &-results {
27 width: 35em;
28 margin: 5em auto;
29
30 &-noresult,
31 &-conflict {
32 font-weight: bold;
33 margin-bottom: 0.5em;
34 }
35 }
36
37 // Rule needs to be specific
38 // We want the expand button to appear outside the color
39 // to match the way the general highlight background appears
40 &-enhanced-grey td:not( :nth-child( -n+2 ) ) {
41 background-color: #dee0e3;
42 }
43
44 h4:first-of-type {
45 margin-top: 0;
46 padding-top: 0;
47 }
48
49 ul {
50 // Each li's margin-left should be the width of the highlights
51 // element + the margin
52 margin-left: ~'calc( ( @{result-circle-diameter} + @{result-circle-margin} ) * 5 + @{result-circle-general-margin} )';
53 }
54
55 &-highlighted {
56 ul {
57 list-style: none;
58
59 li {
60 list-style: none;
61 }
62 }
63 }
64
65 .mw-changeslist-legend {
66 background-color: #fff;
67 }
68
69 // Correction for Enhanced RC
70 // This is outside the scope of the 'highlights' wrapper
71 table.mw-enhanced-rc {
72 margin-left: ~'calc( ( @{result-circle-diameter} + @{result-circle-margin} ) * 5 + @{result-circle-general-margin} )';
73
74 td:last-child {
75 width: 100%;
76 }
77 }
78
79 &-highlights {
80 display: none;
81 padding: 0 @result-circle-general-margin 0 0;
82 text-align: right;
83 // The width is 5 circles times their diameter + individual margin
84 // and then plus the general margin
85 width: ~'calc( ( @{result-circle-diameter} + @{result-circle-margin} ) * 5 )';
86 // And we want to shift the entire block to the left of the li
87 position: relative;
88 // Negative left margin of width + padding
89 margin-left: ~'calc( ( @{result-circle-diameter} + @{result-circle-margin} ) * -5 - @{result-circle-general-margin} )';
90
91 .mw-rcfilters-ui-changesListWrapperWidget-highlighted & {
92 display: inline-block;
93 }
94
95 // This needs to be very specific, since these are
96 // position rules that should apply to all overrides
97 .mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-ui-changesListWrapperWidget-highlights > div&-circle {
98 .box-sizing( border-box );
99 margin-right: @result-circle-margin;
100 vertical-align: middle;
101 // This is to make the dots appear at the center of the
102 // text itself; it's a horrendous hack and blame JamesF for it.
103 margin-top: -2px;
104 }
105
106 &-color {
107
108 &-none {
109 .mw-rcfilters-mixin-circle( @highlight-none, @result-circle-diameter, 0, true );
110 display: inline-block;
111
112 .mw-rcfilters-highlight-color-c1 &,
113 .mw-rcfilters-highlight-color-c2 &,
114 .mw-rcfilters-highlight-color-c3 &,
115 .mw-rcfilters-highlight-color-c4 &,
116 .mw-rcfilters-highlight-color-c5 & {
117 display: none;
118 }
119 }
120 .result-circle( c1 );
121 .result-circle( c2 );
122 .result-circle( c3 );
123 .result-circle( c4 );
124 .result-circle( c5 );
125 }
126 }
127 }
128
129 // One color
130 .mw-rcfilters-highlight-color-c1 {
131 .highlight-changesListWrapperWidget( tint( @highlight-c1, 70% ); );
132 }
133
134 .mw-rcfilters-highlight-color-c2 {
135 .highlight-changesListWrapperWidget( tint( @highlight-c2, 70% ); );
136 }
137
138 .mw-rcfilters-highlight-color-c3 {
139 .highlight-changesListWrapperWidget( tint( @highlight-c3, 70% ); );
140 }
141
142 .mw-rcfilters-highlight-color-c4 {
143 .highlight-changesListWrapperWidget( tint( @highlight-c4, 70% ); );
144 }
145
146 .mw-rcfilters-highlight-color-c5 {
147 .highlight-changesListWrapperWidget( tint( @highlight-c5, 70% ); );
148 }
149
150 // Two colors
151 .highlight-color-mix( c1, c2 );
152 // Overriding .highlight-color-mix( c1, c3 ); to produce
153 // a custom color rather than the computed tint
154 // see https://phabricator.wikimedia.org/T161267
155 .mw-rcfilters-highlight-color-c1.mw-rcfilters-highlight-color-c3 {
156 .highlight-changesListWrapperWidget( #ccdecc );
157 }
158 .highlight-color-mix( c1, c4 );
159 .highlight-color-mix( c1, c5 );
160 .highlight-color-mix( c2, c3 );
161 .highlight-color-mix( c2, c4 );
162 .highlight-color-mix( c2, c5 );
163 .highlight-color-mix( c3, c4 );
164 .highlight-color-mix( c3, c5 );
165 .highlight-color-mix( c4, c5 );
166
167 // Three colors
168 .highlight-color-mix( c1, c2, c3 );
169 .highlight-color-mix( c1, c2, c5 );
170 .highlight-color-mix( c1, c2, c4 );
171 .highlight-color-mix( c1, c3, c4 );
172 .highlight-color-mix( c1, c3, c5 );
173 .highlight-color-mix( c1, c4, c5 );
174 .highlight-color-mix( c2, c3, c4 );
175 .highlight-color-mix( c2, c3, c5 );
176 .highlight-color-mix( c2, c4, c5 );
177 .highlight-color-mix( c3, c4, c5 );
178
179 // Four colors
180 .highlight-color-mix( c1, c2, c3, c4 );
181 .highlight-color-mix( c1, c2, c3, c5 );
182 .highlight-color-mix( c1, c2, c4, c5 );
183 .highlight-color-mix( c1, c3, c4, c5 );
184 .highlight-color-mix( c2, c3, c4, c5 );
185
186 // Five colors:
187 .mw-rcfilters-highlight-color-c1.mw-rcfilters-highlight-color-c2.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-highlight-color-c5 {
188 .highlight-changesListWrapperWidget( tint( mix( @highlight-c1, mix( @highlight-c2, mix( @highlight-c3, average( @highlight-c4, @highlight-c5 ), 20% ), 20% ), 20% ), 15% ) );
189 }