deferred: make DeferredUpdates::attemptUpdate() use callback owners for $fnameTrxOwner
[lhc/web/wiklou.git] / resources / src / mediawiki.rcfilters / styles / mw.rcfilters.ui.FilterTagMultiselectWidget.less
1 @import 'mediawiki.mixins';
2 @import 'mediawiki.ui/variables';
3 @import 'mw.rcfilters.variables';
4
5 .mw-rcfilters-ui-filterTagMultiselectWidget {
6 max-width: none;
7
8 .oo-ui-tagMultiselectWidget-input input {
9 // Make sure this uses the interface direction, not the content direction
10 direction: ltr;
11 border-bottom-right-radius: 0;
12 height: 2.5em;
13 }
14
15 &.oo-ui-widget-enabled {
16 .oo-ui-tagMultiselectWidget-handle {
17 border: 1px solid @colorGray10;
18 border-bottom: 0;
19 background-color: @colorGray15;
20 border-radius: 2px 2px 0 0;
21 padding: 0 0.6em 0.6em 0.6em;
22 margin-top: 1em;
23 line-height: normal;
24 }
25
26 // Hamburger menu for dropdown.
27 .oo-ui-tagMultiselectWidget-input > .oo-ui-icon-menu {
28 cursor: pointer;
29 }
30 }
31
32 .mw-rcfilters-collapsed & {
33 // Taking from the handle, since border-bottom is set on the
34 // filters view which is hidden when collapsed
35 border-bottom: 1px solid @colorGray10;
36
37 &.mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle {
38 padding-bottom: 0;
39 padding-top: 0;
40 }
41
42 .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-hideshow {
43 border-left: 1px solid @colorGray10;
44 }
45
46 &.oo-ui-tagMultiselectWidget-outlined {
47 width: unset;
48 max-width: 100%;
49 }
50
51 // Hide inner elements
52 .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-filters,
53 .mw-rcfilters-ui-filterTagMultiselectWidget-views {
54 display: none;
55 }
56 }
57
58 .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled &-animate.oo-ui-tagMultiselectWidget-handle {
59 .transition( background-color 500ms ease-out );
60 }
61
62 .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled &-emphasize.oo-ui-tagMultiselectWidget-handle {
63 background-color: @background-color-primary;
64 }
65
66 &-hideshowButton.oo-ui-buttonElement > .oo-ui-buttonElement-button {
67 // Override the OOUI default for buttons
68 font-weight: normal;
69 }
70
71 &-wrapper {
72 &-top {
73 display: flex;
74 flex-wrap: nowrap;
75 justify-content: space-between;
76
77 &-title {
78 padding: 0.6em 0; // Same top padding as the handle
79 flex: 0 0 auto;
80 }
81
82 &-queryName {
83 flex: 1 1 auto;
84 padding: 0.6em 0; // Same top padding as the handle
85 white-space: nowrap;
86 min-width: 0; // This has to be here to enable the text truncation
87 overflow: hidden;
88 text-overflow: ellipsis;
89 }
90
91 &-hideshow {
92 flex: 0 0 auto;
93 margin-left: 0.5em;
94 padding-left: 0.5em;
95 }
96 }
97
98 &-content {
99 &-title {
100 font-weight: bold;
101 color: @colorGray5;
102 white-space: nowrap;
103 }
104
105 &-savedQueryTitle {
106 color: @colorGray2;
107 padding-left: 1em;
108 font-weight: bold;
109 vertical-align: top;
110 overflow: hidden;
111 text-overflow: ellipsis;
112 white-space: nowrap;
113 // This is necessary for Firefox to be able to
114 // truncate the text. Without this rule, the label
115 // is treated as if it's full-width, and while it is
116 // being truncated with the overflow:hidden,
117 // the ellipses isn't showing properly.
118 // This rule seems to convince Firefox to re-render,
119 // fix the label's width properly, and add the ellipses
120 max-width: 100%;
121 }
122 }
123 }
124
125 &-views {
126 &-input {
127 width: 100%;
128 }
129
130 &-select {
131 width: 1em;
132
133 &-widget.oo-ui-widget {
134 display: block;
135 .box-sizing( border-box );
136 height: 2.5em;
137 border: 1px solid @colorGray10;
138 border-left-width: 0;
139 border-radius: 0 0 @borderRadius 0;
140 // For `padding-right` using the 'left' value from
141 // .oo-ui-buttonElement-frameless.oo-ui-iconElement >
142 // .oo-ui-buttonElement-button > .oo-ui-iconElement-icon
143 padding-right: 0.35714286em;
144 text-align: right;
145 white-space: nowrap;
146
147 .oo-ui-buttonOptionWidget:first-child {
148 margin-left: 0;
149 }
150 }
151 }
152 }
153
154 &-emptyFilters {
155 color: @colorGray7;
156 }
157
158 &-cell-filters {
159 width: 100%;
160
161 div.oo-ui-tagMultiselectWidget-group {
162 margin-top: 0.2em;
163 display: block;
164 }
165 }
166
167 &-cell-reset {
168 text-align: right;
169 padding-left: 0.5em;
170 }
171 }