]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/sass/primeng-custom.scss
Revert user-menu dropdown active class on sub-menu and autoclose only on outside...
[github/Chocobozzz/PeerTube.git] / client / src / sass / primeng-custom.scss
CommitLineData
bbe0f064
C
1@import '_variables';
2@import '_mixins';
3
4@import '~primeng/resources/primeng.css';
276d9652 5@import '~primeng/resources/themes/nova-light/theme.css';
bbe0f064
C
6
7@mixin glyphicon-light {
8 font-family: 'Glyphicons Halflings';
9 text-decoration: none !important;
e66883b3 10 color: pvar(--mainForegroundColor) !important;
7738273b 11 font-display: swap;
bbe0f064
C
12}
13
bf64ed41
RK
14my-edit-button,
15my-delete-button,
16my-button {
17 height: max-content;
18}
19
2bc9bd08
RK
20// focus box-shadow for primeng
21.ui-inputtext:enabled:focus:not(.ui-state-error) {
e66883b3 22 box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest) !important;
2bc9bd08
RK
23}
24
bbe0f064
C
25// data table customizations
26p-table {
791645e6 27 .ui-table-caption {
276d9652 28 border: none !important;
e66883b3 29 background-color: pvar(--mainBackgroundColor) !important;
b014b6b9
C
30
31 .caption {
32 height: 40px;
25a42e29
RK
33 width: 100%;
34 display: inline-flex;
b014b6b9 35 align-items: center;
0d3a2982
RK
36
37 .input-group-text {
38 background-color: transparent;
39 }
b014b6b9 40 }
791645e6
C
41 }
42
276d9652 43 th {
e66883b3 44 background-color: pvar(--mainBackgroundColor) !important;
276d9652
C
45 outline: 0;
46 }
47
48 td, th {
49 font-family: $main-fonts;
50 font-size: 15px !important;
e66883b3 51 color: pvar(--mainForegroundColor) !important;
276d9652
C
52 }
53
bbe0f064 54 td {
bbe0f064 55 padding-left: 15px !important;
141b177d 56
566c125d 57 &:not(.action-cell):not(.expand-cell) {
141b177d
C
58 overflow: hidden !important;
59 text-overflow: ellipsis !important;
60 white-space: nowrap !important;
61 }
bbe0f064
C
62 }
63
64 tr {
276d9652 65 outline: 0;
e66883b3 66 background-color: pvar(--mainBackgroundColor) !important;
bbe0f064 67 height: 46px;
791645e6
C
68
69 &.ui-state-highlight {
e66883b3 70 background-color: pvar(--submenuColor) !important;
276d9652
C
71
72 td, td > a {
e66883b3 73 color: pvar(--mainForegroundColor) !important;
276d9652 74 }
791645e6 75 }
bbe0f064
C
76 }
77
78 .ui-table-tbody {
79 tr {
80 &:hover {
e66883b3 81 background-color: pvar(--submenuColor) !important;
bbe0f064
C
82 }
83
276d9652
C
84 td {
85 border: none !important;
86 }
87
bbe0f064
C
88 &:first-child td {
89 border-top: none !important;
90 }
91
92 &:last-child td {
93 border-bottom: none !important;
94 }
654a188f
RK
95
96 &:focus + tr > td,
97 &:focus > td {
98 box-shadow: none !important;
99 }
bbe0f064
C
100 }
101
102 .expander {
103 cursor: pointer;
104 position: relative;
105 top: 1px;
106 }
107 }
108
109 th {
110 border: none !important;
b9fcfb1d 111 border-bottom: 1px solid !important;
e66883b3 112 border-color: pvar(--submenuColor) !important;
bbe0f064
C
113 text-align: left !important;
114 padding: 5px 0 5px 15px !important;
115 font-weight: $font-semibold !important;
e66883b3 116 color: pvar(--mainForegroundColor) !important;
bbe0f064
C
117
118 &.ui-sortable-column:hover {
e66883b3 119 background-color: pvar(--submenuColor) !important;
b9fcfb1d 120 border: 1px solid !important;
e66883b3 121 border-color: pvar(--submenuColor) !important;
bbe0f064
C
122 border-width: 0 1px !important;
123
124 &:first-child {
125 border-width: 0 1px 0 0 !important;
126 }
127 }
128
129 &.ui-state-highlight {
e66883b3 130 background-color: pvar(--submenuColor) !important;
bbe0f064
C
131
132 .pi {
133 @extend .glyphicon;
134
276d9652
C
135 color: #000 !important;
136 font-size: 11px !important;
137 top: 0 !important;
bbe0f064 138
619443a3 139 &.pi-sort-amount-up-alt {
bbe0f064 140 @extend .glyphicon-triangle-top;
f2fab901 141
e66883b3 142 color: pvar(--mainForegroundColor) !important;
bbe0f064
C
143 }
144
619443a3 145 &.pi-sort-amount-down {
bbe0f064 146 @extend .glyphicon-triangle-bottom;
f2fab901 147
e66883b3 148 color: pvar(--mainForegroundColor) !important;
bbe0f064
C
149 }
150 }
151 }
152 }
153
154 .action-cell {
155 width: 250px !important;
156 padding: 0 !important;
157 text-align: center;
158
28e0e40d
C
159 .dropdown-root,
160 my-edit-button,
161 my-delete-button,
162 my-button {
2170f1db 163 display: inline-block !important;
165ee292 164 margin-left: 5px;
c5a1ae50 165
165ee292
K
166 :first-child {
167 margin-left: 0
168 }
bbe0f064
C
169 }
170 }
171
172 p-paginator {
173 .ui-paginator-bottom {
e66883b3 174 background-color: pvar(--mainBackgroundColor) !important;
bbe0f064 175 position: relative;
8b183196
RK
176 border: none;
177 border-top: 1px solid !important;
e66883b3 178 border-color: pvar(--submenuColor) !important;
bbe0f064
C
179 height: 40px;
180 display: flex;
181 justify-content: center;
182 align-items: center;
183
2bc9bd08
RK
184 .ui-dropdown {
185 position: absolute;
9b4241e3 186 top: 3px;
2bc9bd08 187 left: 0;
9b4241e3
RK
188
189 &.ui-state-focus {
e66883b3 190 box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest);
9b4241e3
RK
191 }
192
193 .ui-dropdown-label {
e66883b3 194 color: pvar(--inputPlaceholderColor);
9b4241e3 195 }
2bc9bd08
RK
196 }
197
198 .ui-paginator-current {
199 position: absolute;
200 right: 0;
e66883b3 201 color: pvar(--inputPlaceholderColor);
2bc9bd08
RK
202 }
203
30eac84e
C
204 .ui-paginator-first,
205 .ui-paginator-prev,
206 .ui-paginator-next,
207 .ui-paginator-last {
208 @include glyphicon-light;
209 padding: 5px 2px;
210 height: auto;
211 outline: none;
212 font-size: 13px;
213 top: -1px;
214
2bc9bd08
RK
215 &.focus-within,
216 &:focus {
e66883b3 217 box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest);
2bc9bd08
RK
218 }
219
30eac84e
C
220 &.ui-state-disabled:hover {
221 background-color: #fff !important;
222 }
223
224 &.ui-paginator-first {
225 @extend .glyphicon-step-backward;
226 }
227
228 &.ui-paginator-prev {
229 @extend .glyphicon-chevron-left;
230
231 margin-right: 10px;
232 }
233
234 &.ui-paginator-next {
235 @extend .glyphicon-chevron-right;
236
237 margin-left: 10px;
238 }
239
240 &.ui-paginator-last {
241 @extend .glyphicon-step-forward;
242 }
243 }
244
bbe0f064
C
245 .ui-paginator-pages {
246 height: auto !important;
247
2bc9bd08
RK
248 .ui-paginator-page {
249 &.focus-within,
250 &:focus {
e66883b3 251 box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest) !important;
165ee292 252 }
2bc9bd08
RK
253 }
254
bbe0f064 255 a {
e66883b3 256 color: pvar(--mainForegroundColor) !important;
bbe0f064 257 font-weight: $font-semibold !important;
276d9652 258 margin: 0 5px !important;
bbe0f064
C
259 outline: 0 !important;
260 border-radius: 3px !important;
261 padding: 5px 2px !important;
262 height: auto !important;
276d9652 263 line-height: initial !important;
bbe0f064
C
264
265 &.ui-state-active {
266 &, &:hover, &:active, &:focus {
267 color: #fff !important;
e66883b3 268 background-color: pvar(--mainColor) !important;
bbe0f064
C
269 }
270 }
271 }
272 }
273 }
274 }
275}
276
165ee292 277// overflow data table
c2a89b70 278@mixin overflow-datatable ($table-min-width, $horizontal-margins, $mobile-paginator: true) {
165ee292
K
279 p-table {
280 .ui-table-wrapper {
281 overflow-x: auto;
282 max-width: calc(100vw - #{$horizontal-margins * 2});
283
284 table {
285 min-width: $table-min-width;
286 }
287 }
288
c2a89b70
RK
289 @if $mobile-paginator {
290 p-paginator .ui-paginator-bottom {
165ee292 291 display: block;
619443a3 292
c2a89b70
RK
293 .ui-paginator-current {
294 position: relative;
295 display: block;
296 }
619443a3 297
c2a89b70
RK
298 a, .ui-paginator-pages {
299 vertical-align: middle;
300 }
165ee292
K
301 }
302 }
303 }
304}
305
3caf77d3
C
306// multiselect customizations
307p-multiselect {
6a4c30de
RK
308 .ui-multiselect {
309 border-color: #C6C6C6;
310
311 &:not(.ui-state-disabled) {
312 &:hover {
313 border-color: #C6C6C6;
314 }
315
316 &:focus,
317 &.ui-state-focus {
e66883b3 318 box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest);
6a4c30de
RK
319 }
320 }
321 }
322
3caf77d3
C
323 .ui-multiselect-label {
324 font-size: 15px !important;
325 padding: 4px 30px 4px 12px !important;
326
327 $width: 338px;
328 width: $width !important;
329
330 @media screen and (max-width: $width) {
331 width: 100% !important;
332 }
333 }
334
619443a3 335 .pi.pi-chevron-down {
3caf77d3
C
336 margin-left: 0 !important;
337
338 &::after {
339 @include select-arrow-down;
340
341 right: 0;
342 margin-top: 6px;
343 }
344 }
345
346 .ui-chkbox-icon {
347 //position: absolute !important;
348 width: 18px;
349 height: 18px;
350 //left: 0;
351
352 //&::after {
353 // left: -2px !important;
354 //}
355 }
d3217560
RK
356
357 .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {
e66883b3 358 background-color: pvar(--mainColorLighter);
d3217560
RK
359 }
360
361 .ui-inputtext:enabled:focus:not(.ui-state-error) {
e66883b3 362 border-color: pvar(--mainColorLighter) !important;
d3217560
RK
363 box-shadow: none;
364 }
3caf77d3
C
365}
366
bbe0f064
C
367// PrimeNG calendar tweaks
368p-calendar .ui-datepicker {
369 a {
370 @include disable-default-a-behaviour;
371 }
372
373 .ui-datepicker-header {
374
375 .ui-datepicker-year {
376 margin-left: 5px;
377 }
378
379 .ui-datepicker-next {
380 @extend .glyphicon-chevron-right;
381 @include glyphicon-light;
276d9652 382
aa879092 383 color: #000 !important;
276d9652
C
384 text-align: right;
385
386 .pi.pi-chevron-right {
387 display: none !important;
388 }
bbe0f064
C
389 }
390
391 .ui-datepicker-prev {
392 @extend .glyphicon-chevron-left;
393 @include glyphicon-light;
276d9652 394
aa879092 395 color: #000 !important;
276d9652
C
396 text-align: left;
397
398 .pi.pi-chevron-left {
399 display: none !important;
400 }
bbe0f064
C
401 }
402 }
403
404 .ui-timepicker {
405
406 .pi.pi-chevron-up {
407 @extend .glyphicon-chevron-up;
408 @include glyphicon-light;
aa879092
C
409
410 color: #000 !important;
bbe0f064
C
411 }
412
413 .pi.pi-chevron-down {
414 @extend .glyphicon-chevron-down;
415 @include glyphicon-light;
aa879092
C
416
417 color: #000 !important;
bbe0f064
C
418 }
419 }
791645e6
C
420}
421
46db9430
RK
422p-tablecheckbox:hover div .ui-chkbox-box {
423 box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2);
424}
425
17bb716b 426.ui-chkbox {
276d9652 427
17bb716b
C
428 &, .ui-chkbox-box {
429 width: 18px !important;
430 height: 18px !important;
791645e6
C
431 }
432
17bb716b
C
433 .ui-chkbox-box {
434 &.ui-state-active {
e66883b3
RK
435 border-color: pvar(--mainColor) !important;
436 background-color: pvar(--mainColor) !important;
791645e6
C
437 }
438
17bb716b
C
439 .ui-chkbox-icon {
440 position: relative;
441 overflow: visible !important;
442
443 &:after {
444 content: '';
445 position: absolute;
446 top: 1px;
447 left: 6px;
448 width: 5px;
449 height: 12px;
450 opacity: 0;
451 transform: rotate(45deg) scale(0);
e66883b3
RK
452 border-right: 2px solid pvar(--mainBackgroundColor);
453 border-bottom: 2px solid pvar(--mainBackgroundColor);
17bb716b
C
454 }
455
456 &.pi-check:after {
457 opacity: 1;
458 transform: rotate(45deg) scale(1);
459 }
791645e6
C
460 }
461 }
276d9652
C
462}
463
464p-inputswitch {
9b82d49d
RK
465 height: 26px;
466
276d9652 467 .ui-inputswitch-checked .ui-inputswitch-slider {
e66883b3 468 background-color: pvar(--mainColor) !important;
276d9652 469 }
d3217560
RK
470
471 &.small {
472 height: 20px;
473
474 .ui-inputswitch {
475 width: 2.5em !important;
476 height: 1.45em !important;
477
478 .ui-inputswitch-slider::before {
479 height: 1em !important;
480 width: 1em !important;
481 }
482 }
483
484 .ui-inputswitch-checked .ui-inputswitch-slider::before {
485 transform: translateX(1em) !important;
486 }
487 }
276d9652 488}
f8b2c1b4
C
489
490p-toast {
3195cd1c 491 .ui-toast {
36f2981f 492 z-index: z(notification) !important;
3195cd1c 493
21973012
RK
494 .ui-toast-close-icon {
495 font-family: "Glyphicons Halflings";
496 opacity: 0;
75264e37 497
21973012
RK
498 &:after {
499 content: "\e014";
500 }
75264e37
RK
501 }
502
21973012
RK
503 &:hover .ui-toast-close-icon {
504 opacity: .3;
75264e37
RK
505 }
506 }
507
f8b2c1b4
C
508 .ui-toast-message {
509 font-family: $main-fonts;
e66883b3
RK
510 background-color: pvar(--mainBackgroundColor) !important;
511 color: pvar(--mainForegroundColor) !important;
28c801b6
RK
512 border-radius: 5px;
513 box-sizing: border-box;
514 border: 1px solid #EBEEF5 !important;
515 box-shadow: 0 2px 12px 0 rgba(0, 0 , 0, .1);
516 overflow: hidden;
517
518 &.ui-toast-message-success .glyphicon {
519 color: #8BC34A !important;
f8b2c1b4
C
520 }
521
28c801b6
RK
522 &.ui-toast-message-error .glyphicon {
523 color: #F44336 !important;
f8b2c1b4
C
524 }
525
28c801b6
RK
526 &.ui-toast-message-warn .glyphicon {
527 color: #F1680D !important;
f8b2c1b4
C
528 }
529
28c801b6
RK
530 &.ui-toast-message-info .glyphicon {
531 color: #03A9F4 !important;
f8b2c1b4
C
532 }
533
4707f410
C
534 .notification-block {
535 display: flex;
2f1548fd
C
536 align-items: center;
537 padding: 5px;
f8b2c1b4 538
4707f410 539 .message {
6e7e63b8
C
540 flex-grow: 1;
541
4707f410
C
542 h3 {
543 font-size: 21px;
544 }
f8b2c1b4 545
4707f410
C
546 p {
547 font-size: 15px;
2f1548fd 548 margin-bottom: 0;
4707f410 549 }
f8b2c1b4 550 }
f8b2c1b4 551
4707f410
C
552 .glyphicon {
553 font-size: 32px;
4707f410
C
554 margin-right: 5px;
555 }
f8b2c1b4
C
556 }
557 }
558}
17bb716b
C
559
560.ui-widget {
561 font-family: $main-fonts !important;
562}