Project

General

Profile

Download (12 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
//$v-font-size: 16px;
5
//$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 2d703592 Andreas Kohlbecker
$v-app-loading-text: "Dark Valo";
30
$v-background-color: #444d50;
31
$v-focus-color: #07a9ca;
32
$v-focus-style: 0 0 3px 2px $v-focus-color;
33
$v-bevel-depth: 40%;
34
$v-gradient: v-linear 12%;
35
$v-border-radius: 10px;
36
$v-font-family: Roboto, sans-serif;
37
$v-font-weight: 400;
38
$v-font-weight--header: 400;
39
$v-bevel: inset 0 1px 2px v-tint, inset 0 0 1px (v-tint 0.1);
40
$v-shadow: 0 0 0 3px rgba(0,0,0,0.32), 0 1px 0 3px rgba(255,255,255,0.14);
41
$v-textfield-bevel: inset 0 2px 2px v-shade;
42
$v-textfield-shadow: $v-shadow;
43
$v-unit-size: 40px;
44
$v-overlay-shadow: 0 0 0 3px (v-shade 8), 0 5px 10px (v-shade 4);
45
$v-component-group-spacing: 6px;
46 ec462234 Andreas Kohlbecker
47 2d703592 Andreas Kohlbecker
// ========================================== //
48
49
// For more information, see: https://vaadin.com/book/-/page/themes.valo.html
50
// Example variants can be copy/pasted from https://vaadin.com/wiki/-/wiki/Main/Valo+Examples
51
52
@import "../valo/valo.scss";
53
54 664d0a00 Andreas Kohlbecker
55
// ========================================== //
56
57
// import custom font icons TODO rename font
58
@include v-font(IcoMoon, "../../../../../fonts/icomoon");
59
60
.IcoMoon {
61
   font-family: IcoMoon;
62
   font-style: normal;
63
   font-weight: normal;
64
   -webkit-font-smoothing: antialiased;
65
   -moz-osx-font-smoothing: grayscale;
66
   display: inline-block;
67
   text-align: center;
68
}
69
70 af8569f7 Andreas Kohlbecker
// ========================================== //
71
// Status colors for the redistration
72
// 
73
// change-color cant be used since this is not fully supported by the vaadin sass-compiler
74
// see https://github.com/vaadin/sass-compiler/issues/147
75 bc74cf95 Andreas Kohlbecker
$status-reference-color:$v-focus-color;
76
$hue-offset: hue($status-reference-color);
77
$plain-red: adjust-color($status-reference-color, $hue: -1 * $hue-offset);  // red as 0 degree hue
78 af8569f7 Andreas Kohlbecker
$status-rejected-color: adjust-color($plain-red, $hue: 0deg);
79 5465eca0 Andreas Kohlbecker
$status-curation-color: adjust-color($plain-red, $hue: 35deg); 
80 af8569f7 Andreas Kohlbecker
$status-preparation-color: adjust-color($plain-red, $hue: 60deg); 
81
$status-published-color: adjust-color($plain-red, $hue: 105deg); 
82
$status-ready-color: adjust-color($plain-red, $hue: 180deg);
83
// ========================================== //
84
85
86 2d703592 Andreas Kohlbecker
@mixin edit-valo {
87
  @include valo;
88
89
  // Insert your own theme rules here
90 15f46faf Andreas Kohlbecker
  
91 08f24060 Andreas Kohlbecker
  // --- AbstractPageView --- // 
92
  #header {
93
    text-align: center;
94
    margin: round($v-layout-spacing-vertical/2); // corresponds to layout spacing
95
    font-size: $v-font-size--huge; // corresponds to valo style huge (26px)
96
  }
97
98
  #subheader {
99
    text-align: center;
100
    margin: round($v-layout-spacing-vertical/2);
101
    font-size: $v-font-size; // valo default font size (16px)
102
  }
103
  // ------------------- // 
104
  
105 6469b938 Andreas Kohlbecker
  .logo_giant {
106
    font-size: 400%;
107
   }
108
   
109 af8569f7 Andreas Kohlbecker
   .v-button-giant {
110 6469b938 Andreas Kohlbecker
     font-size: 32px;
111
     .v-icon {
112
       font-size: 64px;
113
       line-height: 50px;
114
     }
115
   }
116 4b501287 Andreas Kohlbecker
117
   .v-label .caption {
118
       font-size: $v-font-size--small;
119
   }
120 6469b938 Andreas Kohlbecker
   
121 ef0d6020 Andreas Kohlbecker
   // label with caption and icon horizonatally aligned
122
   // to apply this to a Vaadin Label set 'label-nowrap'
123
   // as style
124 4b501287 Andreas Kohlbecker
125
    .v-caption-label-nowrap, .v-label-label-nowrap {
126
        display: inline;
127
    }
128
    .v-label-label-nowrap {
129
//         margin-left: 8px; // TODO use sass variable here
130
//         vertical-align: baseline;
131
        .v-icon {
132
           display : inline;
133 ef0d6020 Andreas Kohlbecker
        }
134 4b501287 Andreas Kohlbecker
    }
135 c7627153 Andreas Kohlbecker
136
   .friendly-foreground {
137
        color: $v-friendly-color;
138
    }
139 4b501287 Andreas Kohlbecker
   
140 c7627153 Andreas Kohlbecker
   .v-button .button-badge {
141
         @include valo-badge-style($states: inactive, $background-color: lighten($v-background-color, 10%), $active-color: $v-focus-color);
142
    } 
143 ef0d6020 Andreas Kohlbecker
   
144 6469b938 Andreas Kohlbecker
   .dashboard-actions {
145
      margin: 0 10%;
146
    
147 3f1ceae0 Andreas Kohlbecker
      .dashboard-action-2 {
148
        width: 50%;
149
        .v-label {
150
            white-space: normal;
151
        }
152
      }
153 6469b938 Andreas Kohlbecker
      .dashboard-action-3 {
154
        width: 33%;
155
        .v-label {
156
            white-space: normal;
157
        }
158
      }
159
      &[width-range~="-650px"] {
160 3f1ceae0 Andreas Kohlbecker
          .dashboard-action-2, .dashboard-action-3 {
161 6469b938 Andreas Kohlbecker
              width: 100%;
162
          }
163
      }
164
    }
165 bc74cf95 Andreas Kohlbecker
166
    // ===== workflow ==== // 
167 5b4537c4 Andreas Kohlbecker
168
    #workflow-container {
169
        text-align: center;
170 b99cbf31 Andreas Kohlbecker
        margin-top: $v-unit-size;
171 5b4537c4 Andreas Kohlbecker
    }
172 59eb4451 Andreas Kohlbecker
    
173 bc74cf95 Andreas Kohlbecker
    $workflow-icon-size: 110px;
174
    // can not be set per css as this need to set as property to the component in vaadin
175
    $workflow-timeline-bar-height: 10px; 
176
    // the fator by which the caption should be smaller than the circe
177
    $workflow-caption-shrink: 0.64; 
178
179
    $workflow-icon-margin-h: $workflow-icon-size / 5;
180
    $workflow-icon-left: $workflow-icon-margin-h / 2;
181 5b4537c4 Andreas Kohlbecker
    $workflow-caption-font-size: $workflow-icon-size * $workflow-caption-shrink;        
182
    
183 59eb4451 Andreas Kohlbecker
    .workflow {
184
        .steps {
185
            z-index: 10;
186
            
187
            .v-csslayout {
188
                width: $workflow-icon-size + 2 * $workflow-icon-margin-h;
189
                .v-label {
190
                    display: block;
191
                    text-align: center;
192
                }
193
            }
194
         }
195
         .timeline {
196
            display: block;
197
            position: relative;
198
            top: ($workflow-icon-size / 2) + $workflow-timeline-bar-height / 2;
199
            padding: 0 $workflow-icon-size / 2;
200
            .timeline-bar {
201
                z-index: 0;
202
                background-color: $v-font-color;
203
            }
204
        }
205
    }
206 bc74cf95 Andreas Kohlbecker
207
    .workflow-item {
208
        .v-button {
209
            margin: 0 $workflow-icon-margin-h;
210
            font-size: $workflow-icon-size;
211
            height: $workflow-icon-size;
212
            width: $workflow-icon-size;
213
            line-height: $workflow-icon-size;
214
        
215
            .v-icon, .v-button-caption {
216
                position: absolute;
217
                left: $workflow-icon-left;
218
                top: 0px;
219
            }
220
            .v-button-caption {
221
                font-family: monospace;
222
                left: (($workflow-icon-size - $workflow-caption-font-size) / 2) + $workflow-icon-left; // 30px;
223
                top: -2px;
224
                color: $v-background-color;
225
                font-size: $workflow-caption-font-size; // 70px;
226
            }
227
        }
228
    }
229
230 c7627153 Andreas Kohlbecker
    #workingset {
231
            padding: round($v-unit-size / 2);
232
            .names-types-list, .registration-list-item {
233
                margin-top: round($v-unit-size / 2);
234
            }
235
    }
236
237 bc74cf95 Andreas Kohlbecker
    // --------------------------------------------------- //
238 ec462234 Andreas Kohlbecker
    
239 664d0a00 Andreas Kohlbecker
    .registration-list-item {
240 6f9eb1fe Andreas Kohlbecker
        border-top: valo-border($border: $v-border, $color: $v-background-color, $strength: 0.7);
241
        padding-top: 4px; // avoid button group to overlap with border
242
    }
243 664d0a00 Andreas Kohlbecker
244
   .registration-workflow-item {
245
       border: valo-border($border: $v-border, $color: $v-background-color, $strength: 0.7);
246
    }
247
248
    // tab element being part of a process ----------- //
249 b99cbf31 Andreas Kohlbecker
    // use $v-unit-size instead of $v-font-size * 3?
250 664d0a00 Andreas Kohlbecker
    .workflow-step-wrap {
251
        padding-right: 10px;
252
        height: $v-font-size * 3;
253
        background-color: scale-color(lighten($v-app-background-color, 20%), $saturation: -20%);
254
        @include box-shadow(inset 0 0 5px $v-app-background-color);
255
    }
256
    .workflow-step {
257
        line-height: $v-font-size * 3;
258
    }
259
    .v-caption-workflow-step {
260
        vertical-align: top;
261
        padding: 0;
262
         .v-icon {
263
            line-height: $v-font-size * 3;
264
            font-size: $v-font-size * 3.5;
265
            padding-right: 10px;
266
            color: $v-background-color;
267
        }
268 b99cbf31 Andreas Kohlbecker
    }
269
270
    .workflow-tabsheet {
271
        
272
        table.v-tabsheet-tabs, .v-tabsheet-tabs tr, .v-tabsheet-tabs tbody {
273
          width: 100%; 
274
        }
275
        
276
        .v-tabsheet-tabitemcell {
277
              width: 25%;
278
        }
279
280
        .v-tabsheet-tabitem {
281
            
282
            // background-color: scale-color(lighten($v-app-background-color, 20%), $saturation: -20%);
283
            // @include valo-gradient($color: $v-background-color, $gradient: $v-gradient, $fallback: null, $direction: to right);
284
            // @include box-shadow(inset 0 0 5px $v-app-background-color);
285
            // background-color: $v-font-color
286
            
287
            // border: valo-border($border: 2px solid, $color: $v-font-color, $strength: 1);
288
            
289
            background-color: scale-color(lighten($v-app-background-color, 20%), $saturation: -20%);
290
            @include box-shadow(inset 0 0 5px $v-app-background-color);
291
            border: valo-border($border: 2px solid, $color: $v-app-background-color, $strength: 1);
292
            border-color: $v-app-background-color;
293
            .v-caption {
294
                // line-height: $v-unit-size;
295
                margin: 0;
296
                padding: 0;
297
                padding-right: $v-unit-size / 2;
298
                border: 0px none;
299
            }
300
            .v-icon {
301
                line-height: $v-unit-size;
302
                font-size: $v-unit-size * 1.8;
303
                vertical-align: middle;
304
                // padding-right: $v-unit-size / 2;
305
                
306
                //color: $v-font-color;
307
                
308
                color: $v-app-background-color;
309
            }
310
        }
311 664d0a00 Andreas Kohlbecker
    }
312
313
    // ----------------------------------------------- //
314 b99cbf31 Andreas Kohlbecker
    
315
   // status colors --------------------------------- //
316 664d0a00 Andreas Kohlbecker
    .status-REJECTED {
317
        color: $status-rejected-color;
318
    }
319
    .status-CURATION {
320
        color: $status-curation-color;
321
    }
322
    .status-PREPARATION {
323
        color: $status-preparation-color;
324
    }
325
    .status-PUBLISHED {
326
        color: $status-published-color;
327
    }
328
    .status-READY {
329
        color: $status-ready-color;
330
    }
331
332
    .bg-status-REJECTED {
333
        background-color: $status-rejected-color;
334
    }
335
    .bg-status-CURATION {
336
        background-color: $status-curation-color;
337
    }
338
    .bg-status-PREPARATION {
339
        background-color: $status-preparation-color;
340
    }
341
    .bg-status-PUBLISHED {
342
        background-color: $status-published-color;
343
    }
344
    .bg-status-READY {
345
        background-color: $status-ready-color;
346
    }
347
    // ----------------------------------------------- //
348 af8569f7 Andreas Kohlbecker
    
349 ec462234 Andreas Kohlbecker
    #registration-list {
350 08f24060 Andreas Kohlbecker
        /* --- for the css layout --- */
351
        overflow: auto;
352
        height: 100%;
353
        padding-left: round($v-unit-size/3);
354
        padding-right: round($v-unit-size/3);
355
        
356
        border: valo-border($border: $v-border, $color: $v-background-color, $strength: 1.4);
357
        border-radius: $v-border-radius - first-number($v-border) $v-border-radius - first-number($v-border) 0 0;
358
        /* ----------------------------------------------- */
359
        
360 6f9eb1fe Andreas Kohlbecker
        // for grid rows
361 5465eca0 Andreas Kohlbecker
        .status-REJECTED {
362 4b501287 Andreas Kohlbecker
            color: $status-rejected-color;
363 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
364
                color: $status-rejected-color;
365
            }
366
        }
367 5465eca0 Andreas Kohlbecker
        .status-CURATION {
368 4b501287 Andreas Kohlbecker
            color: $status-curation-color;
369 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
370
                color: $status-curation-color;
371
            }
372
        }
373 5465eca0 Andreas Kohlbecker
        .status-PREPARATION {
374 4b501287 Andreas Kohlbecker
            color: $status-preparation-color;
375 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
376
                color: $status-preparation-color;
377
            }
378
        }
379 5465eca0 Andreas Kohlbecker
        .status-PUBLISHED {
380 4b501287 Andreas Kohlbecker
            color: $status-published-color;
381 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
382
                color: $status-published-color;
383
            }
384
        }
385 5465eca0 Andreas Kohlbecker
        .status-READY {
386 4b501287 Andreas Kohlbecker
            color: $status-ready-color;
387 af8569f7 Andreas Kohlbecker
            td.registrationType, td.status {
388
                color: $status-ready-color;
389
            }
390 ec462234 Andreas Kohlbecker
        }
391
    }
392 15f46faf Andreas Kohlbecker
393 a6584bc2 Andreas Kohlbecker
394 2d703592 Andreas Kohlbecker
}