Merge branch 'next-lantia' of github.com:WoltLab/WCF into next-lantia
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / style / layout / form.scss
CommitLineData
f2b50825
AE
1input[type="date"],
2input[type="datetime"],
3input[type="email"],
4input[type="number"],
5input[type="password"],
6input[type="search"],
7input[type="text"],
8input[type="url"],
9select,
10textarea {
11 background-color: $wcfInputBackground;
12 border: 1px solid $wcfInputBorder;
f2b50825
AE
13 color: $wcfInputText;
14 outline: none;
487db634
MW
15 padding: 4px 8px;
16
17 // input elements do not inherit font family, size and line-height from body
18 font-family: $wcfFontFamily;
19 @extend .wcfFontDefault;
20 @extend .wcfLineHeight;
f2b50825
AE
21
22 &:focus,
23 &:hover {
24 background-color: $wcfInputBackgroundActive;
25 border-color: $wcfInputBorderActive;
26 color: $wcfInputTextActive;
27 }
28
29 &[disabled] {
1223c43c
AE
30 background-color: $wcfInputDisabledBackground !important;
31 border-color: $wcfInputDisabledBorder !important;
32 color: $wcfInputDisabledText !important;
f2b50825
AE
33 }
34}
35
a5968043
MW
36/* set placeholder color */
37input[type="date"],
38input[type="datetime"],
39input[type="email"],
40input[type="number"],
41input[type="password"],
42input[type="search"],
43input[type="text"],
44input[type="url"] {
45 &::-webkit-input-placeholder { /* WebKit browsers */
46 color: $wcfInputPlaceholderText;
47 }
48 &::-moz-placeholder { /* Mozilla Firefox 19+ */
49 color: $wcfInputPlaceholderText;
50 }
51 &:-ms-input-placeholder { /* Internet Explorer 10+ */
52 color: $wcfInputPlaceholderText;
53 }
54}
55
6f187f22
AE
56textarea[readonly] {
57 background-color: $wcfInputDisabledBackground !important;
58 border-color: $wcfInputDisabledBorder !important;
59 color: $wcfInputDisabledText !important;
60}
61
f2b50825
AE
62textarea {
63 border-width: 1px;
64 width: 100%;
65
66 @extend .wcfFontDefault;
67}
68
69.selectDropdown {
70 position: relative;
71
72 &::after {
73 content: $fa-var-caret-down;
74 display: block;
75 font-family: FontAwesome;
76 font-size: 14px;
77 pointer-events: none;
78 position: absolute;
79 right: 7px;
80 top: 0px;
81 }
82
83 > select {
84 padding-right: 18px;
85
86 -webkit-appearance: none;
87 -moz-appearance: none;
88 appearance: none;
89 }
90}
91
f2b50825
AE
92dl {
93 &:not(.plain) {
94 display: block;
95
96 &:not(:first-child) {
97 margin-top: 10px;
98 }
99
100 &:not(:last-child) {
101 margin-bottom: 10px;
102 }
103
104 > dt {
105 display: block;
106
107 &:not(:empty) {
108 margin-bottom: 5px;
109 }
110 }
111
112 > dd {
113 display: block;
ed8c9052
AE
114
115 > small:not(.innerError) {
116 color: $wcfContentDimmedText;
117 display: block;
118 margin-top: 5px;
119 }
120
121 &.floated {
122 display: flex;
123 flex-wrap: wrap;
124
125 > label {
126 flex: 0 0 auto;
127 margin: 0 10px 5px 0;
128
129 &:last-child {
130 margin-right: 0;
131 }
132 }
133 }
826d165f
AE
134
135 &:not(:last-child) {
136 margin-bottom: 10px;
137 }
f2b50825
AE
138 }
139
140 &.wide > dt {
141 display: none;
142 }
143
144 & + dl:not(.plain) {
145 padding-top: 10px;
146 }
147 }
148
149 &.dataList {
150 @extend .clearfix;
151
152 > dt {
153 clear: right;
154 color: rgba(128, 128, 128, 1);
155 float: left;
156 margin-right: 4px;
157 text-align: left;
158
159 &:after {
160 content: ":";
161 }
162 }
163
164 > dd {
165 float: right;
166 text-align: right;
167
168 &:not(:last-child) {
169 margin-bottom: 3px;
170 }
171 }
172 }
173
174 &.inlineDataList {
945f563e 175 @extend .wcfFontSmall;
f2b50825
AE
176
177 > dt {
178 display: inline-block;
179
180 &:after {
181 content: ":";
182 padding-left: 1px;
183 }
184 }
185
186 > dd {
187 display: inline-block;
188
189 &:not(:last-of-type):after {
190 content: ",";
191 padding-left: 1px;
192 }
193 }
194 }
195
196 &.statsDataList {
197 align-items: center;
198 display: flex;
199 flex-direction: row-reverse;
200 flex-wrap: wrap;
201
202 > dt {
1223c43c 203 color: $wcfContentDimmedText;
f2b50825 204 flex: 0 0 60%;
f2b50825
AE
205 margin-left: 5px;
206 overflow: hidden;
207 text-align: left;
208 white-space: nowrap;
945f563e
AE
209
210 @extend .wcfFontSmall;
f2b50825
AE
211 }
212
213 > dd {
1223c43c
AE
214 flex: 0 0 auto;
215 width: calc(40% - 5px); /* IE work-around */
216
f2b50825
AE
217 overflow: hidden;
218 text-align: right;
219 text-overflow: ellipsis;
220 white-space: nowrap;
221 }
222 }
223
f2b50825
AE
224 &.condensed {
225 display: block;
226
227 > dt,
228 > dd {
229 display: block;
230 margin: 0;
231 text-align: left;
232 width: 100%;
233 }
234
235 > dd + dt {
236 margin-top: 15px;
237 }
238
239 > dt:not(:empty) {
240 margin-bottom: 5px;
241 }
242 }
243}
244
245.formSubmit {
246 text-align: center;
247
248 &:not(:first-child) {
487db634 249 margin-top: 30px;
f2b50825
AE
250 }
251
252 > :not(:first-child) {
253 margin-left: 10px;
254 }
255}
256
257.flexibleButtonGroup {
258 display: flex;
259
260 > li {
261 flex: 0 0 auto;
262
263 &:not(:last-child) {
264 margin-right: 5px;
265 }
266
267 > input[type="radio"] {
268 display: none;
269
270 &:checked + label {
271 cursor: default;
272
273 > .icon {
274 cursor: default !important;
275 }
276 }
277
278 &:checked + label,
279 & + label:hover {
280 color: #fff;
281
282 &.green {
283 background-color: rgb(148, 170, 114);
284 //background-color: rgb(92, 184, 92);
285 }
286
287 &.red {
288 background-color: rgb(232, 151, 149);
289 //background-color: rgb(217, 83, 79);
290 }
291
292 &.yellow {
293 background-color: rgb(203, 172, 91);
294 //background-color: rgb(240, 173, 78);
295 }
296
297 > .icon {
298 color: #fff;
299 }
300 }
301 }
302
303 > label {
304 background-color: rgb(242, 242, 242);
305 cursor: pointer;
306 padding: 5px 10px;
307
308 &.green,
309 &.green > .icon {
310 color: rgb(54, 125, 54);
311 }
312
313 &.red,
314 &.red > .icon {
315 color: rgb(201, 48, 44);
316 }
317
318 &.yellow,
319 &.yellow > .icon {
320 color: rgb(236, 151, 31);
321 }
322
323 > .icon {
324 cursor: pointer !important;
325 }
326 }
327 }
328}
329
f027ba61 330.inputAddon {
f2b50825
AE
331 display: flex;
332
333 &:not(:last-child) {
334 margin-bottom: 5px;
335 }
336
337 > .inputPrefix {
338 flex: 0 0 auto;
339
340 &.button {
341 border-radius: 0;
342 margin-right: 5px;
343 }
344 }
345
346 > .inputSuffix {
347 flex: 0 0 auto;
348
349 &.button {
350 border-radius: 0;
351 margin-left: 5px;
352 }
f027ba61
AE
353
354 &:not(.button) {
355 background-color: $wcfButtonBackground;
356 border: 1px solid $wcfButtonBorder;
357 color: $wcfButtonText;
358 cursor: default;
359 margin-left: 5px;
360 padding: 3px 5px;
361 }
f2b50825
AE
362 }
363
f027ba61 364 input {
f2b50825
AE
365 flex: 1 auto;
366 }
367}
368
f027ba61
AE
369.inputAddonTextarea {
370 flex-wrap: wrap;
371
372 > .inputPrefix.button {
373 border-bottom-width: 0;
374 border-radius: 0;
375 }
376
377 > textarea {
378 flex: 0 0 100%;
379 }
380}
381
382.inputAddon input,
383input {
384 box-sizing: border-box;
385
386 &.tiny {
387 flex-grow: 0;
388 width: 80px;
389 }
390
391 &.short {
392 flex-grow: 0;
393 min-width: 80px;
394 width: 10%;
395 }
396
397 &.medium {
398 flex-grow: 0;
399 min-width: 150px;
400 width: 30%;
401 }
402
403 &.long {
404 min-width: 150px;
405 width: 100%;
406 }
f2b50825 407}