Project

General

Profile

Download (12 KB) Statistics
| Branch: | Tag: | Revision:
1
// 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
$v-font-family: "Open Sans", sans-serif;
7

    
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
// Affects the visual appearance of all component
18
//$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

    
29
// $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

    
47
// ========================================== //
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
@import "valo-fix.scss";
55

    
56

    
57
// ========================================== //
58

    
59
// import custom font icons TODO rename font
60
@include v-font(IcoMoon, "../../../../../fonts/icomoon");
61

    
62
.IcoMoon {
63
   font-family: IcoMoon;*
64
   font-style: normal;
65
   font-weight: normal;
66
   -webkit-font-smoothing: antialiased;
67
   -moz-osx-font-smoothing: grayscale;
68
   display: inline-block;
69
   text-align: center;
70
}
71

    
72
// ========================================== //
73
// Status colors for the redistration
74
// 
75
// change-color cant be used since this is not fully supported by the vaadin sass-compiler
76
// see https://github.com/vaadin/sass-compiler/issues/147
77
$status-reference-color:$v-focus-color;
78
$hue-offset: hue($status-reference-color);
79
$plain-red: adjust-color($status-reference-color, $hue: -1 * $hue-offset);  // red as 0 degree hue
80
$status-rejected-color: adjust-color($plain-red, $hue: 0deg);
81
$status-curation-color: adjust-color($plain-red, $hue: 35deg); 
82
$status-preparation-color: adjust-color($plain-red, $hue: 60deg); 
83
$status-published-color: adjust-color($plain-red, $hue: 105deg); 
84
$status-ready-color: adjust-color($plain-red, $hue: 180deg);
85
// ========================================== //
86

    
87

    
88
@mixin edit-valo {
89
  @include valo;
90

    
91
  // Insert your own theme rules here
92
  
93
  // --- AbstractPageView --- // 
94
  #header {
95
    text-align: center;
96
    margin: round($v-layout-spacing-vertical/2); // corresponds to layout spacing
97
    font-size: $v-font-size--huge; // corresponds to valo style huge (26px)
98
  }
99

    
100
  #subheader {
101
    text-align: center;
102
    margin: round($v-layout-spacing-vertical/2);
103
    font-size: $v-font-size; // valo default font size (16px)
104
  }
105
  // ------------------- // 
106
  
107
  .logo_giant {
108
    font-size: 400%;
109
   }
110
   
111
   .v-button-giant {
112
     font-size: 32px;
113
     .v-icon {
114
       font-size: 64px;
115
       line-height: 50px;
116
     }
117
   }
118

    
119
   .v-label .caption {
120
       font-size: $v-font-size--small;
121
   }
122
   
123
   // label with caption and icon horizonatally aligned
124
   // to apply this to a Vaadin Label set 'label-nowrap'
125
   // as style
126

    
127
    .v-caption-label-nowrap, .v-label-label-nowrap {
128
        display: inline;
129
    }
130
    .v-label-label-nowrap {
131
//         margin-left: 8px; // TODO use sass variable here
132
//         vertical-align: baseline;
133
        .v-icon {
134
           display : inline;
135
        }
136
    }
137

    
138
   .friendly-foreground {
139
        color: $v-friendly-color;
140
    }
141
   
142
   .v-button .button-badge {
143
         @include valo-badge-style($states: inactive, $background-color: lighten($v-background-color, 10%), $active-color: $v-focus-color);
144
    } 
145
   
146
   .dashboard-actions {
147
      margin: 0 10%;
148
    
149
      .dashboard-action-2 {
150
        width: 50%;
151
        .v-label {
152
            white-space: normal;
153
        }
154
      }
155
      .dashboard-action-3 {
156
        width: 33%;
157
        .v-label {
158
            white-space: normal;
159
        }
160
      }
161
      &[width-range~="-650px"] {
162
          .dashboard-action-2, .dashboard-action-3 {
163
              width: 100%;
164
          }
165
      }
166
    }
167

    
168
    // ===== workflow ==== // 
169

    
170
    #workflow-container {
171
        text-align: center;
172
        margin-top: $v-unit-size;
173
    }
174
    
175
    $workflow-icon-size: 110px;
176
    // can not be set per css as this need to set as property to the component in vaadin
177
    $workflow-timeline-bar-height: 10px; 
178
    // the fator by which the caption should be smaller than the circe
179
    $workflow-caption-shrink: 0.64; 
180

    
181
    $workflow-icon-margin-h: $workflow-icon-size / 5;
182
    $workflow-icon-left: $workflow-icon-margin-h / 2;
183
    $workflow-caption-font-size: $workflow-icon-size * $workflow-caption-shrink;        
184
    
185
    .workflow {
186
        .steps {
187
            z-index: 10;
188
            
189
            .v-csslayout {
190
                width: $workflow-icon-size + 2 * $workflow-icon-margin-h;
191
                .v-label {
192
                    display: block;
193
                    text-align: center;
194
                }
195
            }
196
         }
197
         .timeline {
198
            display: block;
199
            position: relative;
200
            top: ($workflow-icon-size / 2) + $workflow-timeline-bar-height / 2;
201
            padding: 0 $workflow-icon-size / 2;
202
            .timeline-bar {
203
                z-index: 0;
204
                background-color: $v-font-color;
205
            }
206
        }
207
    }
208

    
209
    .workflow-item {
210
        .v-button {
211
            margin: 0 $workflow-icon-margin-h;
212
            font-size: $workflow-icon-size;
213
            height: $workflow-icon-size;
214
            width: $workflow-icon-size;
215
            line-height: $workflow-icon-size;
216
        
217
            .v-icon, .v-button-caption {
218
                position: absolute;
219
                left: $workflow-icon-left;
220
                top: 0px;
221
            }
222
            .v-button-caption {
223
                font-family: monospace;
224
                left: (($workflow-icon-size - $workflow-caption-font-size) / 2) + $workflow-icon-left; // 30px;
225
                top: -2px;
226
                color: $v-background-color;
227
                font-size: $workflow-caption-font-size; // 70px;
228
            }
229
        }
230
    }
231

    
232
    #workingset {
233
            padding: round($v-unit-size / 2);
234
            .names-types-list, .registration-list-item {
235
                margin-top: round($v-unit-size / 2);
236
            }
237
    }
238

    
239
    // --------------------------------------------------- //
240
    
241
    .registration-list-item {
242
        border-top: valo-border($border: $v-border, $color: $v-background-color, $strength: 0.7);
243
        padding-top: 4px; // avoid button group to overlap with border
244
    }
245

    
246
   .registration-workflow-item {
247
       border: valo-border($border: $v-border, $color: $v-background-color, $strength: 0.7);
248
    }
249

    
250
    // tab element being part of a process ----------- //
251
    // use $v-unit-size instead of $v-font-size * 3?
252
    .workflow-step-wrap {
253
        padding-right: 10px;
254
        height: $v-font-size * 3;
255
        background-color: scale-color(lighten($v-app-background-color, 20%), $saturation: -20%);
256
        @include box-shadow(inset 0 0 5px $v-app-background-color);
257
    }
258
    .workflow-step {
259
        line-height: $v-font-size * 3;
260
    }
261
    .v-caption-workflow-step {
262
        vertical-align: top;
263
        padding: 0;
264
         .v-icon {
265
            line-height: $v-font-size * 3;
266
            font-size: $v-font-size * 3.5;
267
            padding-right: 10px;
268
            color: $v-background-color;
269
        }
270
    }
271

    
272
    .workflow-tabsheet {
273
        
274
        table.v-tabsheet-tabs, .v-tabsheet-tabs tr, .v-tabsheet-tabs tbody {
275
          width: 100%; 
276
        }
277
        
278
        .v-tabsheet-tabitemcell {
279
              width: 25%;
280
        }
281

    
282
        .v-tabsheet-tabitem {
283
            
284
            // background-color: scale-color(lighten($v-app-background-color, 20%), $saturation: -20%);
285
            // @include valo-gradient($color: $v-background-color, $gradient: $v-gradient, $fallback: null, $direction: to right);
286
            // @include box-shadow(inset 0 0 5px $v-app-background-color);
287
            // background-color: $v-font-color
288
            
289
            // border: valo-border($border: 2px solid, $color: $v-font-color, $strength: 1);
290
            
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
            border: valo-border($border: 2px solid, $color: $v-app-background-color, $strength: 1);
294
            border-color: $v-app-background-color;
295
            .v-caption {
296
                // line-height: $v-unit-size;
297
                margin: 0;
298
                padding: 0;
299
                padding-right: $v-unit-size / 2;
300
                border: 0px none;
301
            }
302
            .v-icon {
303
                line-height: $v-unit-size;
304
                font-size: $v-unit-size * 1.8;
305
                vertical-align: middle;
306
                // padding-right: $v-unit-size / 2;
307
                
308
                //color: $v-font-color;
309
                
310
                color: $v-app-background-color;
311
            }
312
        }
313
    }
314

    
315
    // ----------------------------------------------- //
316
    
317
   // status colors --------------------------------- //
318
    .status-REJECTED {
319
        color: $status-rejected-color;
320
    }
321
    .status-CURATION {
322
        color: $status-curation-color;
323
    }
324
    .status-PREPARATION {
325
        color: $status-preparation-color;
326
    }
327
    .status-PUBLISHED {
328
        color: $status-published-color;
329
    }
330
    .status-READY {
331
        color: $status-ready-color;
332
    }
333

    
334
    .bg-status-REJECTED {
335
        background-color: $status-rejected-color;
336
    }
337
    .bg-status-CURATION {
338
        background-color: $status-curation-color;
339
    }
340
    .bg-status-PREPARATION {
341
        background-color: $status-preparation-color;
342
    }
343
    .bg-status-PUBLISHED {
344
        background-color: $status-published-color;
345
    }
346
    .bg-status-READY {
347
        background-color: $status-ready-color;
348
    }
349
    // ----------------------------------------------- //
350
    
351
    #registration-list {
352
        /* --- for the css layout --- */
353
        overflow: auto;
354
        height: 100%;
355
        padding-left: round($v-unit-size/3);
356
        padding-right: round($v-unit-size/3);
357
        
358
        border: valo-border($border: $v-border, $color: $v-background-color, $strength: 1.4);
359
        border-radius: $v-border-radius - first-number($v-border) $v-border-radius - first-number($v-border) 0 0;
360
        /* ----------------------------------------------- */
361
        
362
        // for grid rows
363
        .status-REJECTED {
364
            color: $status-rejected-color;
365
            td.registrationType, td.status {
366
                color: $status-rejected-color;
367
            }
368
        }
369
        .status-CURATION {
370
            color: $status-curation-color;
371
            td.registrationType, td.status {
372
                color: $status-curation-color;
373
            }
374
        }
375
        .status-PREPARATION {
376
            color: $status-preparation-color;
377
            td.registrationType, td.status {
378
                color: $status-preparation-color;
379
            }
380
        }
381
        .status-PUBLISHED {
382
            color: $status-published-color;
383
            td.registrationType, td.status {
384
                color: $status-published-color;
385
            }
386
        }
387
        .status-READY {
388
            color: $status-ready-color;
389
            td.registrationType, td.status {
390
                color: $status-ready-color;
391
            }
392
        }
393
    }
394

    
395

    
396
}
(2-2/4)