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