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 |
af8569f7
|
Andreas Kohlbecker
|
// ========================================== //
|
55 |
|
|
// Status colors for the redistration
|
56 |
|
|
//
|
57 |
|
|
// change-color cant be used since this is not fully supported by the vaadin sass-compiler
|
58 |
|
|
// see https://github.com/vaadin/sass-compiler/issues/147
|
59 |
bc74cf95
|
Andreas Kohlbecker
|
$status-reference-color:$v-focus-color;
|
60 |
|
|
$hue-offset: hue($status-reference-color);
|
61 |
|
|
$plain-red: adjust-color($status-reference-color, $hue: -1 * $hue-offset); // red as 0 degree hue
|
62 |
af8569f7
|
Andreas Kohlbecker
|
$status-rejected-color: adjust-color($plain-red, $hue: 0deg);
|
63 |
5465eca0
|
Andreas Kohlbecker
|
$status-curation-color: adjust-color($plain-red, $hue: 35deg);
|
64 |
af8569f7
|
Andreas Kohlbecker
|
$status-preparation-color: adjust-color($plain-red, $hue: 60deg);
|
65 |
|
|
$status-published-color: adjust-color($plain-red, $hue: 105deg);
|
66 |
|
|
$status-ready-color: adjust-color($plain-red, $hue: 180deg);
|
67 |
|
|
// ========================================== //
|
68 |
|
|
|
69 |
|
|
|
70 |
2d703592
|
Andreas Kohlbecker
|
@mixin edit-valo {
|
71 |
|
|
@include valo;
|
72 |
|
|
|
73 |
|
|
// Insert your own theme rules here
|
74 |
15f46faf
|
Andreas Kohlbecker
|
|
75 |
6469b938
|
Andreas Kohlbecker
|
.logo_giant {
|
76 |
|
|
font-size: 400%;
|
77 |
|
|
}
|
78 |
|
|
|
79 |
af8569f7
|
Andreas Kohlbecker
|
.v-button-giant {
|
80 |
6469b938
|
Andreas Kohlbecker
|
font-size: 32px;
|
81 |
|
|
.v-icon {
|
82 |
|
|
font-size: 64px;
|
83 |
|
|
line-height: 50px;
|
84 |
|
|
}
|
85 |
|
|
}
|
86 |
|
|
|
87 |
ef0d6020
|
Andreas Kohlbecker
|
// label with caption and icon horizonatally aligned
|
88 |
|
|
// to apply this to a Vaadin Label set 'label-nowrap'
|
89 |
|
|
// as style
|
90 |
|
|
.v-slot-label-nowrap {
|
91 |
|
|
.v-caption, .v-label {
|
92 |
|
|
display: inline;
|
93 |
|
|
}
|
94 |
|
|
.v-label {
|
95 |
|
|
margin-left: 8px; // TODO use sass variable here
|
96 |
|
|
vertical-align: baseline;
|
97 |
|
|
}
|
98 |
|
|
}
|
99 |
|
|
|
100 |
6469b938
|
Andreas Kohlbecker
|
.dashboard-actions {
|
101 |
|
|
margin: 0 10%;
|
102 |
|
|
|
103 |
3f1ceae0
|
Andreas Kohlbecker
|
.dashboard-action-2 {
|
104 |
|
|
width: 50%;
|
105 |
|
|
.v-label {
|
106 |
|
|
white-space: normal;
|
107 |
|
|
}
|
108 |
|
|
}
|
109 |
6469b938
|
Andreas Kohlbecker
|
.dashboard-action-3 {
|
110 |
|
|
width: 33%;
|
111 |
|
|
.v-label {
|
112 |
|
|
white-space: normal;
|
113 |
|
|
}
|
114 |
|
|
}
|
115 |
|
|
&[width-range~="-650px"] {
|
116 |
3f1ceae0
|
Andreas Kohlbecker
|
.dashboard-action-2, .dashboard-action-3 {
|
117 |
6469b938
|
Andreas Kohlbecker
|
width: 100%;
|
118 |
|
|
}
|
119 |
|
|
}
|
120 |
|
|
}
|
121 |
bc74cf95
|
Andreas Kohlbecker
|
|
122 |
|
|
// ===== workflow ==== //
|
123 |
59eb4451
|
Andreas Kohlbecker
|
|
124 |
bc74cf95
|
Andreas Kohlbecker
|
$workflow-icon-size: 110px;
|
125 |
|
|
// can not be set per css as this need to set as property to the component in vaadin
|
126 |
|
|
$workflow-timeline-bar-height: 10px;
|
127 |
|
|
// the fator by which the caption should be smaller than the circe
|
128 |
|
|
$workflow-caption-shrink: 0.64;
|
129 |
|
|
|
130 |
|
|
$workflow-icon-margin-h: $workflow-icon-size / 5;
|
131 |
|
|
$workflow-icon-left: $workflow-icon-margin-h / 2;
|
132 |
|
|
$workflow-caption-font-size: $workflow-icon-size * $workflow-caption-shrink;
|
133 |
|
|
|
134 |
59eb4451
|
Andreas Kohlbecker
|
.workflow {
|
135 |
|
|
.steps {
|
136 |
|
|
z-index: 10;
|
137 |
|
|
|
138 |
|
|
.v-csslayout {
|
139 |
|
|
width: $workflow-icon-size + 2 * $workflow-icon-margin-h;
|
140 |
|
|
.v-label {
|
141 |
|
|
display: block;
|
142 |
|
|
text-align: center;
|
143 |
|
|
}
|
144 |
|
|
}
|
145 |
|
|
}
|
146 |
|
|
.timeline {
|
147 |
|
|
display: block;
|
148 |
|
|
position: relative;
|
149 |
|
|
top: ($workflow-icon-size / 2) + $workflow-timeline-bar-height / 2;
|
150 |
|
|
padding: 0 $workflow-icon-size / 2;
|
151 |
|
|
.timeline-bar {
|
152 |
|
|
z-index: 0;
|
153 |
|
|
background-color: $v-font-color;
|
154 |
|
|
}
|
155 |
|
|
}
|
156 |
|
|
}
|
157 |
bc74cf95
|
Andreas Kohlbecker
|
|
158 |
|
|
.workflow-item {
|
159 |
|
|
.v-button {
|
160 |
|
|
margin: 0 $workflow-icon-margin-h;
|
161 |
|
|
font-size: $workflow-icon-size;
|
162 |
|
|
height: $workflow-icon-size;
|
163 |
|
|
width: $workflow-icon-size;
|
164 |
|
|
line-height: $workflow-icon-size;
|
165 |
|
|
|
166 |
|
|
.v-icon, .v-button-caption {
|
167 |
|
|
position: absolute;
|
168 |
|
|
left: $workflow-icon-left;
|
169 |
|
|
top: 0px;
|
170 |
|
|
}
|
171 |
|
|
.v-button-caption {
|
172 |
|
|
font-family: monospace;
|
173 |
|
|
left: (($workflow-icon-size - $workflow-caption-font-size) / 2) + $workflow-icon-left; // 30px;
|
174 |
|
|
top: -2px;
|
175 |
|
|
color: $v-background-color;
|
176 |
|
|
font-size: $workflow-caption-font-size; // 70px;
|
177 |
|
|
}
|
178 |
|
|
}
|
179 |
|
|
}
|
180 |
|
|
|
181 |
|
|
// --------------------------------------------------- //
|
182 |
ec462234
|
Andreas Kohlbecker
|
|
183 |
6f9eb1fe
|
Andreas Kohlbecker
|
.registration-item {
|
184 |
|
|
border-top: valo-border($border: $v-border, $color: $v-background-color, $strength: 0.7);
|
185 |
|
|
padding-top: 4px; // avoid button group to overlap with border
|
186 |
|
|
}
|
187 |
af8569f7
|
Andreas Kohlbecker
|
|
188 |
ec462234
|
Andreas Kohlbecker
|
#registration-list {
|
189 |
6f9eb1fe
|
Andreas Kohlbecker
|
// for grid rows
|
190 |
5465eca0
|
Andreas Kohlbecker
|
.status-REJECTED {
|
191 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
192 |
|
|
color: $status-rejected-color;
|
193 |
|
|
}
|
194 |
|
|
}
|
195 |
5465eca0
|
Andreas Kohlbecker
|
.status-CURATION {
|
196 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
197 |
|
|
color: $status-curation-color;
|
198 |
|
|
}
|
199 |
|
|
}
|
200 |
5465eca0
|
Andreas Kohlbecker
|
.status-PREPARATION {
|
201 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
202 |
|
|
color: $status-preparation-color;
|
203 |
|
|
}
|
204 |
|
|
}
|
205 |
5465eca0
|
Andreas Kohlbecker
|
.status-PUBLISHED {
|
206 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
207 |
|
|
color: $status-published-color;
|
208 |
|
|
}
|
209 |
|
|
}
|
210 |
5465eca0
|
Andreas Kohlbecker
|
.status-READY {
|
211 |
af8569f7
|
Andreas Kohlbecker
|
td.registrationType, td.status {
|
212 |
|
|
color: $status-ready-color;
|
213 |
|
|
}
|
214 |
ec462234
|
Andreas Kohlbecker
|
}
|
215 |
6f9eb1fe
|
Andreas Kohlbecker
|
// for RegistrationItems
|
216 |
|
|
.v-slot-status-REJECTED {
|
217 |
|
|
color: $status-rejected-color;
|
218 |
|
|
}
|
219 |
|
|
.v-slot-status-CURATION {
|
220 |
|
|
color: $status-curation-color;
|
221 |
|
|
}
|
222 |
|
|
.v-slot-status-PREPARATION {
|
223 |
|
|
color: $status-preparation-color;
|
224 |
|
|
}
|
225 |
|
|
.v-slot-status-PUBLISHED {
|
226 |
|
|
color: $status-published-color;
|
227 |
|
|
}
|
228 |
|
|
.v-slot-status-READY {
|
229 |
|
|
color: $status-ready-color;
|
230 |
|
|
}
|
231 |
ec462234
|
Andreas Kohlbecker
|
}
|
232 |
15f46faf
|
Andreas Kohlbecker
|
|
233 |
a6584bc2
|
Andreas Kohlbecker
|
|
234 |
2d703592
|
Andreas Kohlbecker
|
}
|