defuss-desktop 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,168 @@
1
+ /*-------------------------------------------*\
2
+ Global
3
+ \*-------------------------------------------*/
4
+
5
+ @use "variables" as *;
6
+
7
+ body, html {
8
+ font-family: Arial;
9
+ font-size: 12px;
10
+ color: #222222;
11
+ margin: 0;
12
+ padding: 0;
13
+ overflow: hidden;
14
+ user-select: none;
15
+
16
+ -webkit-text-size-adjust: none;
17
+ -ms-text-size-adjust: none;
18
+ text-size-adjust: none;
19
+
20
+ // Apply default cursor with fallback
21
+ cursor: url("#{$cursor-base-path}default.cur"), default;
22
+
23
+ // Cursor utilities for different elements within the desktop
24
+ * {
25
+ &[data-cursor="default"], &.cursor-default {
26
+ cursor: url("#{$cursor-base-path}default.cur"), default;
27
+ }
28
+
29
+ &[data-cursor="pointer"], &.cursor-pointer {
30
+ cursor: url("#{$cursor-base-path}pointer.cur"), pointer;
31
+ }
32
+
33
+ &[data-cursor="text"], &.cursor-text {
34
+ cursor: url("#{$cursor-base-path}text.cur"), text;
35
+ }
36
+
37
+ &[data-cursor="wait"], &.cursor-wait {
38
+ cursor: url("#{$cursor-base-path}wait.cur"), wait;
39
+ }
40
+
41
+ &[data-cursor="crosshair"], &.cursor-crosshair {
42
+ cursor: url("#{$cursor-base-path}crosshair.cur"), crosshair;
43
+ }
44
+
45
+ &[data-cursor="help"], &.cursor-help {
46
+ cursor: url("#{$cursor-base-path}help.cur"), help;
47
+ }
48
+
49
+ &[data-cursor="move"], &.cursor-move {
50
+ cursor: url("#{$cursor-base-path}move.cur"), move;
51
+ }
52
+
53
+ &[data-cursor="not-allowed"], &.cursor-not-allowed {
54
+ cursor: url("#{$cursor-base-path}not-allowed.cur"), not-allowed;
55
+ }
56
+
57
+ &[data-cursor="grab"], &.cursor-grab {
58
+ cursor: url("#{$cursor-base-path}grab.cur"), grab;
59
+ }
60
+
61
+ &[data-cursor="grabbing"], &.cursor-grabbing {
62
+ cursor: url("#{$cursor-base-path}grabbing.cur"), grabbing;
63
+ }
64
+ }
65
+ }
66
+ .surface {
67
+ background: var(--surface);
68
+ }
69
+ h1 {
70
+ font-size: 5rem;
71
+ }
72
+ h2 {
73
+ font-size: 2.5rem;
74
+ }
75
+ h3 {
76
+ font-size: 2rem;
77
+ }
78
+ h4 {
79
+ font-size: 1.5rem;
80
+ }
81
+ u {
82
+ text-decoration: none;
83
+ border-bottom: 0.5px solid #222222;
84
+ }
85
+
86
+ a {
87
+ color: var(--link-blue);
88
+ &:focus {
89
+ outline: 1px dotted var(--link-blue);
90
+ }
91
+ }
92
+
93
+ code {
94
+ font-family: monospace;
95
+ * {
96
+ font-family: monospace;
97
+ }
98
+ }
99
+ pre {
100
+ display: block;
101
+ padding: 12px 8px;
102
+ background-color: black;
103
+ color: #c0c0c0;
104
+ font-family: "Perfect DOS VGA 437 Win";
105
+ font-size: 1rem;
106
+ margin: 0;
107
+ * {
108
+ font-family: "Perfect DOS VGA 437 Win";
109
+ }
110
+ }
111
+ summary {
112
+ &:focus {
113
+ outline: 1px dotted #000000;
114
+ }
115
+ }
116
+ ::-webkit-scrollbar {
117
+ width: 16px;
118
+ &:horizontal {
119
+ height: 17px;
120
+ }
121
+ }
122
+ ::-webkit-scrollbar-corner {
123
+ background: var(--button-face);
124
+ }
125
+ ::-webkit-scrollbar {
126
+ width: 16px;
127
+ &:horizontal {
128
+ height: 17px;
129
+ }
130
+ }
131
+ ::-webkit-scrollbar-corner {
132
+ background: var(--button-face);
133
+ }
134
+ ::-webkit-scrollbar-track {
135
+ background-image: svg-load("#{$icon-base-path}scrollbar-background.svg");
136
+ }
137
+ ::-webkit-scrollbar-thumb {
138
+ background-color: var(--button-face);
139
+ box-shadow: var(--border-raised-outer), var(--border-raised-inner);
140
+ }
141
+ ::-webkit-scrollbar-button:horizontal:start:decrement,
142
+ ::-webkit-scrollbar-button:horizontal:end:increment,
143
+ ::-webkit-scrollbar-button:vertical:start:decrement,
144
+ ::-webkit-scrollbar-button:vertical:end:increment {
145
+ display: block;
146
+ }
147
+ ::-webkit-scrollbar-button {
148
+ &:vertical {
149
+ &:start {
150
+ height: 17px;
151
+ background-image: svg-load("#{$icon-base-path}button-up.svg");
152
+ }
153
+ &:end {
154
+ height: 17px;
155
+ background-image: svg-load("#{$icon-base-path}button-down.svg");
156
+ }
157
+ }
158
+ &:horizontal {
159
+ &:start {
160
+ width: 16px;
161
+ background-image: svg-load("#{$icon-base-path}button-left.svg");
162
+ }
163
+ &:end {
164
+ width: 16px;
165
+ background-image: svg-load("#{$icon-base-path}button-right.svg");
166
+ }
167
+ }
168
+ }
@@ -0,0 +1,44 @@
1
+ /*-------------------------------------------*\
2
+ GroupBox
3
+ \*-------------------------------------------*/
4
+
5
+ @use "variables" as *;
6
+
7
+ fieldset {
8
+ border-image: svg-load("#{$icon-base-path}groupbox-border.svg") 2;
9
+ padding: calc(2 * var(--border-width) + var(--element-spacing));
10
+ padding-block-start: var(--element-spacing);
11
+ margin: 0;
12
+ }
13
+ legend {
14
+ background: var(--surface);
15
+ }
16
+ .field-row {
17
+ display: flex;
18
+ align-items: center;
19
+ > * {
20
+ + {
21
+ * {
22
+ margin-left: var(--grouped-element-spacing);
23
+ }
24
+ }
25
+ }
26
+ }
27
+ [class^="field-row"] {
28
+ + {
29
+ [class^="field-row"] {
30
+ margin-top: var(--grouped-element-spacing);
31
+ }
32
+ }
33
+ }
34
+ .field-row-stacked {
35
+ display: flex;
36
+ flex-direction: column;
37
+ * {
38
+ + {
39
+ * {
40
+ margin-top: var(--grouped-element-spacing);
41
+ }
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,375 @@
1
+
2
+ .logon-screen {
3
+ width: 100vw;
4
+ height: 100vh;
5
+ background-color: #508fd9;
6
+ color: #fff;
7
+ display: flex;
8
+ flex-direction: column;
9
+ &__top,
10
+ &__bottom {
11
+ background-color: #004da3;
12
+ flex-basis: 12.5%;
13
+ border-style: solid;
14
+ border-image-slice: 1;
15
+ }
16
+ &__top {
17
+ border-image-source: linear-gradient(
18
+ 90deg,
19
+ rgba(0, 77, 163, 1) 0%,
20
+ rgba(255, 255, 255, 0.8) 30%,
21
+ rgba(255, 255, 255, 0.9) 40%,
22
+ rgba(255, 255, 255, 0.9) 50%,
23
+ rgba(0, 77, 163, 1) 100%
24
+ );
25
+ border-width: 0 0 4px 0;
26
+ }
27
+ &__bottom {
28
+ padding: 40px 80px 40px 40px;
29
+ display: flex;
30
+ justify-content: space-between;
31
+ border-image-source: linear-gradient(
32
+ 90deg,
33
+ rgba(0, 77, 163, 1) 0%,
34
+ rgba(240, 150, 68, 1) 30%,
35
+ rgba(240, 150, 68, 1) 40%,
36
+ rgba(240, 150, 68, 1) 50%,
37
+ rgba(0, 77, 163, 1) 100%
38
+ );
39
+ border-width: 4px 0 0 0;
40
+ }
41
+ &__center {
42
+ flex: 1;
43
+ display: flex;
44
+ background-image: radial-gradient(
45
+ circle,
46
+ rgba(255, 255, 255, 0.6) -21%,
47
+ rgba(255, 255, 255, 0) 60%,
48
+ rgba(255, 255, 255, 0) 100%
49
+ );
50
+ background-size: 700px 700px;
51
+ background-position: -240px -210px;
52
+ background-repeat: no-repeat;
53
+ z-index: 0;
54
+ }
55
+ &__instructions,
56
+ &__accounts {
57
+ flex-basis: 50%;
58
+ }
59
+ &__instructions {
60
+ display: flex;
61
+ flex-direction: column;
62
+ justify-content: center;
63
+ padding-right: 30px;
64
+ align-items: flex-end;
65
+ border-right-width: 1px;
66
+ border-image-source: linear-gradient(
67
+ 180deg,
68
+ rgba(255, 255, 255, 0) 0%,
69
+ rgba(255, 255, 255, 0) 5%,
70
+ rgba(255, 255, 255, 0.5) 15%,
71
+ rgba(255, 255, 255, 0.5) 50%,
72
+ rgba(255, 255, 255, 0.5) 85%,
73
+ rgba(255, 255, 255, 0) 95%,
74
+ rgba(255, 255, 255, 0) 100%
75
+ );
76
+ border-image-slice: 0 1 0 0;
77
+ border-right-style: solid;
78
+
79
+ img,
80
+ span {
81
+ display: block;
82
+ }
83
+ img {
84
+ max-height: 125px;
85
+ max-width: 250px;
86
+ margin-bottom: 25px;
87
+ }
88
+ span {
89
+ text-align: right;
90
+ font-size: 24px;
91
+ }
92
+ }
93
+ &__accounts {
94
+ padding-left: 20px;
95
+ display: flex;
96
+ flex-direction: column;
97
+ justify-content: center;
98
+ align-items: flex-start;
99
+ }
100
+ &__account {
101
+ outline: none;
102
+ cursor: pointer;
103
+ display: flex;
104
+ min-width: 470px;
105
+ max-width: 100%;
106
+ opacity: 0.6;
107
+ padding: 12px;
108
+ border-radius: 8px;
109
+ border-top-right-radius: 0;
110
+ border-bottom-right-radius: 0;
111
+ border: 1px solid transparent;
112
+ border-right: 0;
113
+ position: relative;
114
+ background-clip: padding-box;
115
+ border: 1px solid transparent;
116
+
117
+ &-icon {
118
+ width: 80px;
119
+ height: 80px;
120
+ margin-right: 20px;
121
+ border: 3px solid #fff;
122
+ border-radius: 5px;
123
+ box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.3);
124
+ img {
125
+ width: 100%;
126
+ height: 100%;
127
+ }
128
+ }
129
+ &-details {
130
+ position: relative;
131
+ }
132
+ &-name {
133
+ font-size: 24px;
134
+ margin-bottom: 20px;
135
+ display: block;
136
+ }
137
+ &:hover,
138
+ &.active,
139
+ &.logging-in {
140
+ opacity: 1;
141
+ .logon-screen__account-icon {
142
+ border-color: #ffcc36;
143
+ }
144
+ .logon-screen__account-name {
145
+ margin-bottom: 2px;
146
+ }
147
+ }
148
+ &.active {
149
+ cursor: pointer;
150
+ background: linear-gradient(90deg, rgb(0, 72, 154) 56%, rgba(0, 72, 154, 32) 30%, rgba(255, 255, 255, 0) 100%);
151
+ background-clip: padding-box;
152
+
153
+ &::after {
154
+ content: '';
155
+ background: linear-gradient(
156
+ 90deg,
157
+ rgba(255, 255, 255, 0.6) 40%,
158
+ rgba(255, 255, 255, 0) 100%
159
+ );
160
+ border-radius: 8px;
161
+ position: absolute;
162
+ top: -1px;
163
+ right: -1px;
164
+ bottom: -1px;
165
+ left: -1px;
166
+ z-index: -1;
167
+ pointer-events: none;
168
+ }
169
+ .logon-screen__password {
170
+ display: block;
171
+ }
172
+ }
173
+ }
174
+ &__password {
175
+ display: none;
176
+ position: absolute;
177
+ bottom: -20px;
178
+
179
+ > span {
180
+ display: block;
181
+ font-size: 14px;
182
+ margin-bottom: 6px;
183
+ }
184
+ input {
185
+ padding: 5px;
186
+ border: 0;
187
+ border-radius: 5px;
188
+ width: 160px;
189
+ line-height: 39px;
190
+ height: 32px !important;
191
+ font-size: 30px;
192
+ box-shadow: #00489a 2px 2px 0px 0px;
193
+ outline: none;
194
+ }
195
+ button {
196
+ cursor: pointer;
197
+ margin-left: 8px;
198
+ border: 1px solid #fff;
199
+ border-radius: 5px;
200
+ width: 32px;
201
+ height: 32px;
202
+ min-width: 0;
203
+ background-image: linear-gradient(
204
+ 150deg,
205
+ rgba(255, 255, 255, 0.7) 0%,
206
+ rgba(70, 161, 252, 0) 50%
207
+ );
208
+ background-repeat: no-repeat;
209
+ box-shadow: 2px 2px 0px 0px #00489a, inset -1px -2px 4px 0 rgba(0, 0, 0, 0.7);
210
+ position: relative;
211
+
212
+ &.logon-screen__submit {
213
+ background-color: #3eb34d;
214
+
215
+ outline: none;
216
+
217
+ &:not(:disabled) {
218
+ &:active,
219
+ &.active {
220
+ box-shadow: 2px 2px 0px 0px #00489a, inset -1px -2px 4px 0 rgba(0, 0, 0, 0.9);
221
+ background-color: #339741 !important;
222
+ background-image: linear-gradient(150deg, rgba(255, 255, 255, 0.7) 0%, rgba(70, 161, 252, 0) 50%);
223
+ }
224
+ &:hover {
225
+ box-shadow: 2px 2px 0px 0px #00489a, inset -1px -2px 4px 0 rgba(0, 0, 0, 0.7);
226
+ }
227
+ }
228
+ &:focus,
229
+ &.focused {
230
+ box-shadow: 2px 2px 0px 0px #00489a, inset -1px -2px 4px 0 rgba(0, 0, 0, 0.9);
231
+ background-color: #3eb34d;
232
+ }
233
+ &::-moz-focus-inner {
234
+ border: 0;
235
+ }
236
+
237
+ &::before,
238
+ &::after {
239
+ content: '';
240
+ width: 0;
241
+ height: 0;
242
+ border-style: solid;
243
+ border-width: 12px 0 12px 12px;
244
+ border-color: transparent transparent transparent #ffffff;
245
+ position: absolute;
246
+ top: 50%;
247
+ right: 4px;
248
+ transform: translateY(-50%);
249
+ }
250
+ &::after {
251
+ border-width: 7px 0 7px 7px;
252
+ border-color: #3eb34d;
253
+ border-color: transparent transparent transparent #3eb34d;
254
+ right: 9px;
255
+ }
256
+ span {
257
+ background-color: #fff;
258
+ position: absolute;
259
+ height: 4px;
260
+ width: 17px;
261
+ top: 50%;
262
+ transform: translateY(-50%);
263
+ right: 9px;
264
+ z-index: 1;
265
+ }
266
+ }
267
+ &.logon-screen__question {
268
+ background-color: #0573f3;
269
+ font-size: 30px;
270
+ font-weight: 900;
271
+ color: #fff;
272
+ display: none;
273
+
274
+ span {
275
+ position: absolute;
276
+ top: 50%;
277
+ left: 50%;
278
+ transform: translate(-50%, -50%);
279
+ line-height: 0;
280
+ }
281
+ }
282
+ }
283
+ > form {
284
+ display: flex;
285
+ margin-left: -5px;
286
+ }
287
+ }
288
+
289
+ &__turn-off {
290
+ display: flex;
291
+ align-items: start;
292
+ flex-grow: 0;
293
+ &:hover {
294
+ text-decoration: underline;
295
+ cursor: pointer;
296
+ }
297
+ span {
298
+ margin-left: 10px;
299
+ font-size: 24px;
300
+ }
301
+ &-icon {
302
+ position: relative;
303
+ background-color: #da5020;
304
+ border: 1px solid #fff;
305
+ border-radius: 5px;
306
+ width: 32px;
307
+ min-width: 0;
308
+ height: 32px;
309
+ background-image: linear-gradient(
310
+ 150deg,
311
+ rgba(255, 255, 255, 0.7) 0%,
312
+ rgba(70, 161, 252, 0) 50%
313
+ );
314
+
315
+ outline: none;
316
+ box-shadow: 2px 2px 0px 0px #00489a, inset -1px -2px 4px 0 rgba(0, 0, 0, 0.4);
317
+
318
+ &:not(:disabled) {
319
+ &:active,
320
+ &.active {
321
+ box-shadow: 2px 2px 0px 0px #00489a, inset -1px -2px 4px 0 rgba(0, 0, 0, 0.4);
322
+ background-color: #da5020 !important;
323
+ background-image: linear-gradient(150deg, rgba(255, 255, 255, 0.7) 0%, rgba(70, 161, 252, 0) 50%);
324
+ }
325
+ &:hover {
326
+ box-shadow: 2px 2px 0px 0px #00489a, inset -1px -2px 4px 0 rgba(0, 0, 0, 0.4);
327
+ }
328
+ }
329
+ &:focus,
330
+ &.focused {
331
+ box-shadow: 2px 2px 0px 0px #00489a, inset -1px -2px 4px 0 rgba(0, 0, 0, 0.4);
332
+ background-color: #da5020;
333
+ }
334
+ &::-moz-focus-inner {
335
+ border: 0;
336
+ }
337
+
338
+ &::before,
339
+ &::after {
340
+ content: '';
341
+ position: absolute;
342
+ top: 50%;
343
+ left: 50%;
344
+ transform: translate(-50%, -50%);
345
+ }
346
+ &::before {
347
+ border: 3px solid #fff;
348
+ border-radius: 50px;
349
+ width: 14px;
350
+ height: 14px;
351
+ }
352
+ &::after {
353
+ background-color: #fff;
354
+ width: 3px;
355
+ height: 8px;
356
+ }
357
+ }
358
+ }
359
+ &__logon-info {
360
+ }
361
+ }
362
+
363
+ .welcome-text {
364
+ font-style: italic;
365
+ font-size: 76px;
366
+ font-weight: 900;
367
+ text-shadow: 3px 4px #00489a;
368
+ }
369
+ .logging-in {
370
+ .loading-settings {
371
+ color: #00489a;
372
+ font-size: 14px;
373
+ font-weight: bold;
374
+ }
375
+ }