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