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 |
1d2e0764
|
Andreas Kohlbecker
|
// $v-app-loading-text: "Dark Valo";
|
30 |
2d703592
|
Andreas Kohlbecker
|
$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 |
dc3f8070
|
Andreas Kohlbecker
|
@import "valo-fix.scss";
|
55 |
|
|
|
56 |
664d0a00
|
Andreas Kohlbecker
|
|
57 |
|
|
// ========================================== //
|
58 |
|
|
|
59 |
|
|
// import custom font icons TODO rename font
|
60 |
|
|
@include v-font(IcoMoon, "../../../../../fonts/icomoon");
|
61 |
|
|
|
62 |
|
|
.IcoMoon {
|
63 |
dc3f8070
|
Andreas Kohlbecker
|
font-family: IcoMoon;*
|
64 |
664d0a00
|
Andreas Kohlbecker
|
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 |
af8569f7
|
Andreas Kohlbecker
|
// ========================================== //
|
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 |
bc74cf95
|
Andreas Kohlbecker
|
$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 |
af8569f7
|
Andreas Kohlbecker
|
$status-rejected-color: adjust-color($plain-red, $hue: 0deg);
|
81 |
5465eca0
|
Andreas Kohlbecker
|
$status-curation-color: adjust-color($plain-red, $hue: 35deg);
|
82 |
af8569f7
|
Andreas Kohlbecker
|
$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 |
2d703592
|
Andreas Kohlbecker
|
@mixin edit-valo {
|
89 |
|
|
@include valo;
|
90 |
|
|
|
91 |
|
|
// Insert your own theme rules here
|
92 |
15f46faf
|
Andreas Kohlbecker
|
|
93 |
08f24060
|
Andreas Kohlbecker
|
// --- 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 |
6469b938
|
Andreas Kohlbecker
|
.logo_giant {
|
108 |
|
|
font-size: 400%;
|
109 |
|
|
}
|
110 |
|
|
|
111 |
af8569f7
|
Andreas Kohlbecker
|
.v-button-giant {
|
112 |
6469b938
|
Andreas Kohlbecker
|
font-size: 32px;
|
113 |
|
|
.v-icon {
|
114 |
|
|
font-size: 64px;
|
115 |
|
|
line-height: 50px;
|
116 |
|
|
}
|
117 |
|
|
}
|
118 |
4b501287
|
Andreas Kohlbecker
|
|
119 |
|
|
.v-label .caption {
|
120 |
|
|
font-size: $v-font-size--small;
|
121 |
|
|
}
|
122 |
6469b938
|
Andreas Kohlbecker
|
|
123 |
ef0d6020
|
Andreas Kohlbecker
|
// label with caption and icon horizonatally aligned
|
124 |
|
|
// to apply this to a Vaadin Label set 'label-nowrap'
|
125 |
|
|
// as style
|
126 |
4b501287
|
Andreas Kohlbecker
|
|
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 |
ef0d6020
|
Andreas Kohlbecker
|
}
|
136 |
4b501287
|
Andreas Kohlbecker
|
}
|
137 |
c7627153
|
Andreas Kohlbecker
|
|
138 |
|
|
.friendly-foreground {
|
139 |
|
|
color: $v-friendly-color;
|
140 |
|
|
}
|
141 |
4b501287
|
Andreas Kohlbecker
|
|
142 |
c7627153
|
Andreas Kohlbecker
|
.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 |
ef0d6020
|
Andreas Kohlbecker
|
|
146 |
6469b938
|
Andreas Kohlbecker
|
.dashboard-actions {
|
147 |
|
|
margin: 0 10%;
|
148 |
|
|
|
149 |
3f1ceae0
|
Andreas Kohlbecker
|
.dashboard-action-2 {
|
150 |
|
|
width: 50%;
|
151 |
|
|
.v-label {
|
152 |
|
|
white-space: normal;
|
153 |
|
|
}
|
154 |
|
|
}
|
155 |
6469b938
|
Andreas Kohlbecker
|
.dashboard-action-3 {
|
156 |
|
|
width: 33%;
|
157 |
|
|
.v-label {
|
158 |
|
|
white-space: normal;
|
159 |
|
|
}
|
160 |
|
|
}
|
161 |
|
|
&[width-range~="-650px"] {
|
162 |
3f1ceae0
|
Andreas Kohlbecker
|
.dashboard-action-2, .dashboard-action-3 {
|
163 |
6469b938
|
Andreas Kohlbecker
|
width: 100%;
|
164 |
|
|
}
|
165 |
|
|
}
|
166 |
|
|
}
|
167 |
bc74cf95
|
Andreas Kohlbecker
|
|
168 |
|
|
// ===== workflow ==== //
|
169 |
5b4537c4
|
Andreas Kohlbecker
|
|
170 |
|
|
#workflow-container {
|
171 |
|
|
text-align: center;
|
172 |
b99cbf31
|
Andreas Kohlbecker
|
margin-top: $v-unit-size;
|
173 |
5b4537c4
|
Andreas Kohlbecker
|
}
|
174 |
59eb4451
|
Andreas Kohlbecker
|
|
175 |
bc74cf95
|
Andreas Kohlbecker
|
$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 |
5b4537c4
|
Andreas Kohlbecker
|
$workflow-caption-font-size: $workflow-icon-size * $workflow-caption-shrink;
|
184 |
|
|
|
185 |
59eb4451
|
Andreas Kohlbecker
|
.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 |
bc74cf95
|
Andreas Kohlbecker
|
|
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 |
c7627153
|
Andreas Kohlbecker
|
#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 |
bc74cf95
|
Andreas Kohlbecker
|
// --------------------------------------------------- //
|
240 |
ec462234
|
Andreas Kohlbecker
|
|
241 |
664d0a00
|
Andreas Kohlbecker
|
.registration-list-item {
|
242 |
6f9eb1fe
|
Andreas Kohlbecker
|
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 |
664d0a00
|
Andreas Kohlbecker
|
|
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 |
b99cbf31
|
Andreas Kohlbecker
|
// use $v-unit-size instead of $v-font-size * 3?
|
252 |
664d0a00
|
Andreas Kohlbecker
|
.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 |
b99cbf31
|
Andreas Kohlbecker
|
}
|
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 |
664d0a00
|
Andreas Kohlbecker
|
}
|
314 |
|
|
|
315 |
|
|
// ----------------------------------------------- //
|
316 |
b99cbf31
|
Andreas Kohlbecker
|
|
317 |
|
|
// status colors --------------------------------- //
|
318 |
664d0a00
|
Andreas Kohlbecker
|
.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 |
af8569f7
|
Andreas Kohlbecker
|
|
351 |
ec462234
|
Andreas Kohlbecker
|
#registration-list {
|
352 |
08f24060
|
Andreas Kohlbecker
|
/* --- 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 |
6f9eb1fe
|
Andreas Kohlbecker
|
// for grid rows
|
363 |
5465eca0
|
Andreas Kohlbecker
|
.status-REJECTED {
|
364 |
4b501287
|
Andreas Kohlbecker
|
color: $status-rejected-color;
|
365 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
366 |
|
|
color: $status-rejected-color;
|
367 |
|
|
}
|
368 |
|
|
}
|
369 |
5465eca0
|
Andreas Kohlbecker
|
.status-CURATION {
|
370 |
4b501287
|
Andreas Kohlbecker
|
color: $status-curation-color;
|
371 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
372 |
|
|
color: $status-curation-color;
|
373 |
|
|
}
|
374 |
|
|
}
|
375 |
5465eca0
|
Andreas Kohlbecker
|
.status-PREPARATION {
|
376 |
4b501287
|
Andreas Kohlbecker
|
color: $status-preparation-color;
|
377 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
378 |
|
|
color: $status-preparation-color;
|
379 |
|
|
}
|
380 |
|
|
}
|
381 |
5465eca0
|
Andreas Kohlbecker
|
.status-PUBLISHED {
|
382 |
4b501287
|
Andreas Kohlbecker
|
color: $status-published-color;
|
383 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
384 |
|
|
color: $status-published-color;
|
385 |
|
|
}
|
386 |
|
|
}
|
387 |
5465eca0
|
Andreas Kohlbecker
|
.status-READY {
|
388 |
4b501287
|
Andreas Kohlbecker
|
color: $status-ready-color;
|
389 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
390 |
|
|
color: $status-ready-color;
|
391 |
|
|
}
|
392 |
ec462234
|
Andreas Kohlbecker
|
}
|
393 |
|
|
}
|
394 |
15f46faf
|
Andreas Kohlbecker
|
|
395 |
a6584bc2
|
Andreas Kohlbecker
|
|
396 |
2d703592
|
Andreas Kohlbecker
|
}
|