1 @import 'mediawiki.mixins.animation';
2 @import 'mediawiki.ui/variables';
3 @import 'mw.rcfilters.mixins';
5 @rcfilters-spinner-width: 70px;
6 @rcfilters-head-min-height: 250px;
7 @rcfilters-wl-head-min-height: 320px;
9 // Corrections for the standard special page
15 // Reserve space for the UI while it loads
17 min-height: @rcfilters-head-min-height;
20 // On the watchlist, reserve a bit more
21 .mw-special-Watchlist .rcfilters-head {
22 min-height: @rcfilters-wl-head-min-height;
25 .mw-recentchanges-toplinks {
27 padding: 0 0.5em 0.5em 0.5em;
28 border: 1px solid transparent;
30 &:not( .mw-recentchanges-toplinks-collapsed ) {
32 border: 1px solid @colorGray12;
35 /* stylelint-disable declaration-no-important */
36 .oo-ui-buttonElement > .oo-ui-buttonElement-button {
37 padding-right: 1.2em !important;
39 > .oo-ui-indicatorElement-indicator {
41 width: 0.9375em !important;
44 /* stylelint-enable declaration-no-important */
47 body:not( .mw-rcfilters-ui-initialized ) {
48 .mw-recentchanges-toplinks.mw-recentchanges-toplinks-collapsed {
49 // Similar to the watchlist-details hack, we are going to make this float left
50 // while loading to prevent jumpiness in the min-height calculation
53 .mw-recentchanges-toplinks-content {
69 .rcfilters-container {
75 // Reserve space for the highlight circles
77 table.mw-enhanced-rc {
78 .result-circle-margin();
82 // Temporarily hide any 'empty' or 'timeout' message while we
84 .mw-changeslist-empty,
85 .mw-changeslist-timeout {
89 body.mw-rcfilters-ui-loading .mw-changeslist {
97 width: @rcfilters-spinner-width;
98 // Make sure the middle of the spinner is centered, rather than its left edge
99 margin-left: -@rcfilters-spinner-width/2;
104 & .rcfilters-spinner-bounce,
108 display: inline-block;
111 background-color: @colorGray12;
113 .animation( rcfiltersBouncedelay 1.5s ease-in-out -0.16s infinite both );
117 .animation-delay( -0.33s );
121 .animation-delay( 0s );
124 body:not( .mw-rcfilters-ui-initialized ) .rcfilters-spinner {
126 // When initializing, display the spinner on top of the area where the UI will appear
127 margin-top: -@rcfilters-head-min-height/2;
129 body.mw-rcfilters-ui-loading .rcfilters-spinner {
131 // When loading new results, display the spinner on top of the results area
136 form#mw-watchlist-resetbutton {
140 // Make the watchlist-details message display while loading, but make it not take up any
141 // space. This makes the min-height trick work better.
147 .mw-rcfilters-staticfilters-selected {
151 @-webkit-keyframes rcfiltersBouncedelay {
155 -webkit-transform: scale( 0.7 );
156 transform: scale( 0.7 );
159 background-color: @colorGray10;
160 -webkit-transform: scale( 1 );
161 transform: scale( 1 );
165 @-moz-keyframes rcfiltersBouncedelay {
169 -moz-transform: scale( 0.7 );
170 transform: scale( 0.7 );
173 background-color: @colorGray10;
174 -moz-transform: scale( 0.7 );
175 transform: scale( 1 );
179 @keyframes rcfiltersBouncedelay {
183 transform: scale( 0.7 );
186 background-color: @colorGray10;
187 transform: scale( 1 );