Project

General

Profile

Download (13.8 KB) Statistics
| Branch: | Tag: | Revision:
1 2d703592 Andreas Kohlbecker
// Global variable overrides. Must be declared before importing Valo.
2
3
// Defines the plaintext font size, weight and family. Font size affects general component sizing.
4 b6ea271c Andreas Kohlbecker
$v-font-size: 14px; // default in valo is 16px
5 2d703592 Andreas Kohlbecker
//$v-font-weight: 300;
6 15f46faf Andreas Kohlbecker
$v-font-family: "Open Sans", sans-serif;
7 2d703592 Andreas Kohlbecker
8
// Defines the border used by all components.
9
//$v-border: 1px solid (v-shade 0.7);
10
//$v-border-radius: 4px;
11
12
// Affects the color of some component elements, e.g Button, Panel title, etc
13
//$v-background-color: hsl(210, 0%, 98%);
14
// Affects the color of content areas, e.g  Panel and Window content, TextField input etc
15
//$v-app-background-color: $v-background-color;
16
17 15f46faf Andreas Kohlbecker
// Affects the visual appearance of all component
18 2d703592 Andreas Kohlbecker
//$v-gradient: v-linear 8%;
19
//$v-bevel-depth: 30%;
20
//$v-shadow-opacity: 5%;
21
22
// Defines colors for indicating status (focus, success, failure)
23
//$v-focus-color: valo-focus-color(); // Calculates a suitable color automatically
24
//$v-friendly-color: #2c9720;
25
//$v-error-indicator-color: #ed473b;
26
27
// ================== DARK ================ //
28 ec462234 Andreas Kohlbecker
29 1d2e0764 Andreas Kohlbecker
// $v-app-loading-text: "Dark Valo";
30 eca2b6b0 Andreas Kohlbecker
/*
31
*/
32 2d703592 Andreas Kohlbecker
$v-background-color: #444d50;
33
$v-focus-color: #07a9ca;
34
$v-focus-style: 0 0 3px 2px $v-focus-color;
35
$v-bevel-depth: 40%;
36
$v-gradient: v-linear 12%;
37
$v-border-radius: 10px;
38
$v-font-family: Roboto, sans-serif;
39
$v-font-weight: 400;
40
$v-font-weight--header: 400;
41
$v-bevel: inset 0 1px 2px v-tint, inset 0 0 1px (v-tint 0.1);
42
$v-shadow: 0 0 0 3px rgba(0,0,0,0.32), 0 1px 0 3px rgba(255,255,255,0.14);
43
$v-textfield-bevel: inset 0 2px 2px v-shade;
44
$v-textfield-shadow: $v-shadow;
45
$v-unit-size: 40px;
46
$v-overlay-shadow: 0 0 0 3px (v-shade 8), 0 5px 10px (v-shade 4);
47
$v-component-group-spacing: 6px;
48 ec462234 Andreas Kohlbecker
49 2d703592 Andreas Kohlbecker
// ========================================== //
50
51
// For more information, see: https://vaadin.com/book/-/page/themes.valo.html
52
// Example variants can be copy/pasted from https://vaadin.com/wiki/-/wiki/Main/Valo+Examples
53
54
@import "../valo/valo.scss";
55
56 dc3f8070 Andreas Kohlbecker
@import "valo-fix.scss";
57
58 2260591f Andreas Kohlbecker
@import "custom-fields.scss";
59
60 664d0a00 Andreas Kohlbecker
61
// ========================================== //
62
63
// import custom font icons TODO rename font
64
@include v-font(IcoMoon, "../../../../../fonts/icomoon");
65
66
.IcoMoon {
67 2260591f Andreas Kohlbecker
   font-family: IcoMoon;
68 664d0a00 Andreas Kohlbecker
   font-style: normal;
69
   font-weight: normal;
70
   -webkit-font-smoothing: antialiased;
71
   -moz-osx-font-smoothing: grayscale;
72
   display: inline-block;
73
   text-align: center;
74
}
75
76 af8569f7 Andreas Kohlbecker
// ========================================== //
77
// Status colors for the redistration
78
// 
79
// change-color cant be used since this is not fully supported by the vaadin sass-compiler
80
// see https://github.com/vaadin/sass-compiler/issues/147
81 bc74cf95 Andreas Kohlbecker
$status-reference-color:$v-focus-color;
82
$hue-offset: hue($status-reference-color);
83
$plain-red: adjust-color($status-reference-color, $hue: -1 * $hue-offset);  // red as 0 degree hue
84 af8569f7 Andreas Kohlbecker
$status-rejected-color: adjust-color($plain-red, $hue: 0deg);
85 5465eca0 Andreas Kohlbecker
$status-curation-color: adjust-color($plain-red, $hue: 35deg); 
86 af8569f7 Andreas Kohlbecker
$status-preparation-color: adjust-color($plain-red, $hue: 60deg); 
87
$status-published-color: adjust-color($plain-red, $hue: 105deg); 
88
$status-ready-color: adjust-color($plain-red, $hue: 180deg);
89
// ========================================== //
90
91
92 2d703592 Andreas Kohlbecker
@mixin edit-valo {
93
  @include valo;
94
95
  // Insert your own theme rules here
96 15f46faf Andreas Kohlbecker
  
97 08f24060 Andreas Kohlbecker
  // --- AbstractPageView --- // 
98
  #header {
99
    text-align: center;
100
    margin: round($v-layout-spacing-vertical/2); // corresponds to layout spacing
101
    font-size: $v-font-size--huge; // corresponds to valo style huge (26px)
102
  }
103
104
  #subheader {
105
    text-align: center;
106
    margin: round($v-layout-spacing-vertical/2);
107
    font-size: $v-font-size; // valo default font size (16px)
108
  }
109
  // ------------------- // 
110
  
111 6469b938 Andreas Kohlbecker
  .logo_giant {
112
    font-size: 400%;
113
   }
114
   
115 af8569f7 Andreas Kohlbecker
   .v-button-giant {
116 6469b938 Andreas Kohlbecker
     font-size: 32px;
117
     .v-icon {
118
       font-size: 64px;
119
       line-height: 50px;
120
     }
121
   }
122 4b501287 Andreas Kohlbecker
123
   .v-label .caption {
124
       font-size: $v-font-size--small;
125
   }
126 6469b938 Andreas Kohlbecker
   
127 ef0d6020 Andreas Kohlbecker
   // label with caption and icon horizonatally aligned
128
   // to apply this to a Vaadin Label set 'label-nowrap'
129
   // as style
130 4b501287 Andreas Kohlbecker
131
    .v-caption-label-nowrap, .v-label-label-nowrap {
132
        display: inline;
133
    }
134
    .v-label-label-nowrap {
135
//         margin-left: 8px; // TODO use sass variable here
136
//         vertical-align: baseline;
137
        .v-icon {
138
           display : inline;
139 ef0d6020 Andreas Kohlbecker
        }
140 9c553d89 Andreas Kohlbecker
    } 
141 c7627153 Andreas Kohlbecker
142
   .friendly-foreground {
143
        color: $v-friendly-color;
144
    }
145 4b501287 Andreas Kohlbecker
   
146 c7627153 Andreas Kohlbecker
   .v-button .button-badge {
147
         @include valo-badge-style($states: inactive, $background-color: lighten($v-background-color, 10%), $active-color: $v-focus-color);
148
    } 
149 ef0d6020 Andreas Kohlbecker
   
150 6469b938 Andreas Kohlbecker
   .dashboard-actions {
151
      margin: 0 10%;
152
    
153 3f1ceae0 Andreas Kohlbecker
      .dashboard-action-2 {
154
        width: 50%;
155
        .v-label {
156
            white-space: normal;
157
        }
158
      }
159 6469b938 Andreas Kohlbecker
      .dashboard-action-3 {
160
        width: 33%;
161
        .v-label {
162
            white-space: normal;
163
        }
164
      }
165
      &[width-range~="-650px"] {
166 3f1ceae0 Andreas Kohlbecker
          .dashboard-action-2, .dashboard-action-3 {
167 6469b938 Andreas Kohlbecker
              width: 100%;
168
          }
169
      }
170
    }
171 bc74cf95 Andreas Kohlbecker
172
    // ===== workflow ==== // 
173 84724c61 Andreas Kohlbecker
    
174
    #workflow {
175
        .registration-list {
176
                .v-gridlayout-slot {
177
                    border-bottom: valo-border($border: $v-border, $color: $v-background-color, $strength: 1.4);
178
                }
179
                .v-panel-content {
180
                    padding-left: round($v-unit-size / 4);
181
                }
182
            }
183
         .v-gridlayout-registration-list-item {
184
            padding: 0 round($v-unit-size / 4);
185
         }
186 5b4537c4 Andreas Kohlbecker
    }
187 59eb4451 Andreas Kohlbecker
    
188 bc74cf95 Andreas Kohlbecker
    $workflow-icon-size: 110px;
189
    // can not be set per css as this need to set as property to the component in vaadin
190
    $workflow-timeline-bar-height: 10px; 
191
    // the fator by which the caption should be smaller than the circe
192
    $workflow-caption-shrink: 0.64; 
193
194
    $workflow-icon-margin-h: $workflow-icon-size / 5;
195
    $workflow-icon-left: $workflow-icon-margin-h / 2;
196 5b4537c4 Andreas Kohlbecker
    $workflow-caption-font-size: $workflow-icon-size * $workflow-caption-shrink;        
197
    
198 59eb4451 Andreas Kohlbecker
    .workflow {
199
        .steps {
200
            z-index: 10;
201
            
202
            .v-csslayout {
203
                width: $workflow-icon-size + 2 * $workflow-icon-margin-h;
204
                .v-label {
205
                    display: block;
206
                    text-align: center;
207
                }
208
            }
209
         }
210
         .timeline {
211
            display: block;
212
            position: relative;
213
            top: ($workflow-icon-size / 2) + $workflow-timeline-bar-height / 2;
214
            padding: 0 $workflow-icon-size / 2;
215
            .timeline-bar {
216
                z-index: 0;
217
                background-color: $v-font-color;
218
            }
219
        }
220
    }
221 bc74cf95 Andreas Kohlbecker
222
    .workflow-item {
223
        .v-button {
224
            margin: 0 $workflow-icon-margin-h;
225
            font-size: $workflow-icon-size;
226
            height: $workflow-icon-size;
227
            width: $workflow-icon-size;
228
            line-height: $workflow-icon-size;
229
        
230
            .v-icon, .v-button-caption {
231
                position: absolute;
232
                left: $workflow-icon-left;
233
                top: 0px;
234
            }
235
            .v-button-caption {
236
                font-family: monospace;
237
                left: (($workflow-icon-size - $workflow-caption-font-size) / 2) + $workflow-icon-left; // 30px;
238
                top: -2px;
239
                color: $v-background-color;
240
                font-size: $workflow-caption-font-size; // 70px;
241
            }
242
        }
243
    }
244 84724c61 Andreas Kohlbecker
    
245 ee7eb9e7 Andreas Kohlbecker
    
246
   // --------------------------------------------------- //
247 0773de61 Andreas Kohlbecker
   // style for blocked by buttons
248 ee7eb9e7 Andreas Kohlbecker
   
249 0773de61 Andreas Kohlbecker
    .v-button-blocked {
250
        color: $v-focus-color;
251
    }
252 ee7eb9e7 Andreas Kohlbecker
   
253 84724c61 Andreas Kohlbecker
   // --------------------------------------------------- //
254 bc74cf95 Andreas Kohlbecker
255 c7627153 Andreas Kohlbecker
    #workingset {
256
            padding: round($v-unit-size / 2);
257 d7c4522d Andreas Kohlbecker
            .registration-list, .registration-list-item {
258 c7627153 Andreas Kohlbecker
                margin-top: round($v-unit-size / 2);
259
            }
260 76910e45 Andreas Kohlbecker
        
261 699de23b Andreas Kohlbecker
            .v-panel-content {
262
                padding: 0 round($v-unit-size/3);
263
            }
264
            .registration-list .item-footer {
265
                border-bottom: valo-border($border: $v-border, $color: $v-background-color, $strength: 1.4);
266 76910e45 Andreas Kohlbecker
            }
267 c7627153 Andreas Kohlbecker
    }
268
269 bc74cf95 Andreas Kohlbecker
    // --------------------------------------------------- //
270 ec462234 Andreas Kohlbecker
    
271 664d0a00 Andreas Kohlbecker
    .registration-list-item {
272 0773de61 Andreas Kohlbecker
        border-bottom: valo-border($border: $v-border, $color: $v-background-color, $strength: 0.7);
273 6f9eb1fe Andreas Kohlbecker
        padding-top: 4px; // avoid button group to overlap with border
274 9773ed87 Andreas Kohlbecker
        .v-label-registration-state {
275
            margin-right: round($v-unit-size / 4);
276
        }            
277
        .v-caption-submitter {
278
            margin-right: round($v-unit-size / 8);
279
        }
280 6f9eb1fe Andreas Kohlbecker
    }
281 664d0a00 Andreas Kohlbecker
282
   .registration-workflow-item {
283
       border: valo-border($border: $v-border, $color: $v-background-color, $strength: 0.7);
284
    }
285
286
    // tab element being part of a process ----------- //
287 b99cbf31 Andreas Kohlbecker
    // use $v-unit-size instead of $v-font-size * 3?
288 664d0a00 Andreas Kohlbecker
    .workflow-step-wrap {
289
        padding-right: 10px;
290
        height: $v-font-size * 3;
291
        background-color: scale-color(lighten($v-app-background-color, 20%), $saturation: -20%);
292
        @include box-shadow(inset 0 0 5px $v-app-background-color);
293
    }
294
    .workflow-step {
295
        line-height: $v-font-size * 3;
296
    }
297
    .v-caption-workflow-step {
298
        vertical-align: top;
299
        padding: 0;
300
         .v-icon {
301
            line-height: $v-font-size * 3;
302
            font-size: $v-font-size * 3.5;
303
            padding-right: 10px;
304
            color: $v-background-color;
305
        }
306 b99cbf31 Andreas Kohlbecker
    }
307
308
    .workflow-tabsheet {
309
        
310
        table.v-tabsheet-tabs, .v-tabsheet-tabs tr, .v-tabsheet-tabs tbody {
311
          width: 100%; 
312
        }
313
        
314
        .v-tabsheet-tabitemcell {
315
              width: 25%;
316
        }
317
318
        .v-tabsheet-tabitem {
319
            
320
            // background-color: scale-color(lighten($v-app-background-color, 20%), $saturation: -20%);
321
            // @include valo-gradient($color: $v-background-color, $gradient: $v-gradient, $fallback: null, $direction: to right);
322
            // @include box-shadow(inset 0 0 5px $v-app-background-color);
323
            // background-color: $v-font-color
324
            
325
            // border: valo-border($border: 2px solid, $color: $v-font-color, $strength: 1);
326
            
327
            background-color: scale-color(lighten($v-app-background-color, 20%), $saturation: -20%);
328
            @include box-shadow(inset 0 0 5px $v-app-background-color);
329
            border: valo-border($border: 2px solid, $color: $v-app-background-color, $strength: 1);
330
            border-color: $v-app-background-color;
331
            .v-caption {
332
                // line-height: $v-unit-size;
333
                margin: 0;
334
                padding: 0;
335
                padding-right: $v-unit-size / 2;
336
                border: 0px none;
337
            }
338
            .v-icon {
339
                line-height: $v-unit-size;
340
                font-size: $v-unit-size * 1.8;
341
                vertical-align: middle;
342
                // padding-right: $v-unit-size / 2;
343
                
344
                //color: $v-font-color;
345
                
346
                color: $v-app-background-color;
347
            }
348
        }
349 664d0a00 Andreas Kohlbecker
    }
350
351
    // ----------------------------------------------- //
352 b99cbf31 Andreas Kohlbecker
    
353
   // status colors --------------------------------- //
354 664d0a00 Andreas Kohlbecker
    .status-REJECTED {
355
        color: $status-rejected-color;
356
    }
357
    .status-CURATION {
358
        color: $status-curation-color;
359
    }
360
    .status-PREPARATION {
361
        color: $status-preparation-color;
362
    }
363
    .status-PUBLISHED {
364
        color: $status-published-color;
365
    }
366
    .status-READY {
367
        color: $status-ready-color;
368
    }
369
370
    .bg-status-REJECTED {
371
        background-color: $status-rejected-color;
372
    }
373
    .bg-status-CURATION {
374
        background-color: $status-curation-color;
375
    }
376
    .bg-status-PREPARATION {
377
        background-color: $status-preparation-color;
378
    }
379
    .bg-status-PUBLISHED {
380
        background-color: $status-published-color;
381
    }
382
    .bg-status-READY {
383
        background-color: $status-ready-color;
384
    }
385
    // ----------------------------------------------- //
386 af8569f7 Andreas Kohlbecker
    
387 ec462234 Andreas Kohlbecker
    #registration-list {
388 08f24060 Andreas Kohlbecker
        /* --- for the css layout --- */
389
        overflow: auto;
390
        height: 100%;
391
        padding-left: round($v-unit-size/3);
392
        padding-right: round($v-unit-size/3);
393
        
394
        border: valo-border($border: $v-border, $color: $v-background-color, $strength: 1.4);
395
        border-radius: $v-border-radius - first-number($v-border) $v-border-radius - first-number($v-border) 0 0;
396
        /* ----------------------------------------------- */
397
        
398 6f9eb1fe Andreas Kohlbecker
        // for grid rows
399 5465eca0 Andreas Kohlbecker
        .status-REJECTED {
400 4b501287 Andreas Kohlbecker
            color: $status-rejected-color;
401 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
402
                color: $status-rejected-color;
403
            }
404
        }
405 5465eca0 Andreas Kohlbecker
        .status-CURATION {
406 4b501287 Andreas Kohlbecker
            color: $status-curation-color;
407 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
408
                color: $status-curation-color;
409
            }
410
        }
411 5465eca0 Andreas Kohlbecker
        .status-PREPARATION {
412 4b501287 Andreas Kohlbecker
            color: $status-preparation-color;
413 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
414
                color: $status-preparation-color;
415
            }
416
        }
417 5465eca0 Andreas Kohlbecker
        .status-PUBLISHED {
418 4b501287 Andreas Kohlbecker
            color: $status-published-color;
419 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
420
                color: $status-published-color;
421
            }
422
        }
423 5465eca0 Andreas Kohlbecker
        .status-READY {
424 4b501287 Andreas Kohlbecker
            color: $status-ready-color;
425 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
426
                color: $status-ready-color;
427
            }
428 ec462234 Andreas Kohlbecker
        }
429 76910e45 Andreas Kohlbecker
430
    }
431
    
432
    // ---------------- custom components ----------------------- //
433
    
434
    .edit-button-group {
435
        margin-top: round($v-unit-size/10);
436
        .v-button {
437
            padding: 0 round($v-unit-size/4);
438 79295d9d Andreas Kohlbecker
            height: round(2 * $v-unit-size/3 )
439 76910e45 Andreas Kohlbecker
            // margin: 0 round($v-unit-size/4);
440
        }
441 79295d9d Andreas Kohlbecker
        .v-label {
442
            display: inline;
443
            white-space: normal;
444
        }
445 ec462234 Andreas Kohlbecker
    }
446 76910e45 Andreas Kohlbecker
    
447 fcba7787 Andreas Kohlbecker
    // ---------- popup editor windows ---------------------------------//
448
    .v-window-top-toolbar {
449
        margin-bottom: round($v-unit-size/4);
450
        .v-component-group {
451
            float: right;
452
        }
453
    }
454 15f46faf Andreas Kohlbecker
455 a6584bc2 Andreas Kohlbecker
456 2d703592 Andreas Kohlbecker
}