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,95 @@
1
+ @use "variables" as *;
2
+
3
+ /*-------------------------------------------*\
4
+ Buttons
5
+ \*-------------------------------------------*/
6
+
7
+ button {
8
+ font-family: var(--tahoma);
9
+ -webkit-font-smoothing: none;
10
+ font-size: 16px;
11
+ box-sizing: border-box;
12
+ border: 1px solid #003c74;
13
+ background: linear-gradient(
14
+ 180deg,
15
+ rgba(255, 255, 255, 1) 0%,
16
+ rgba(236, 235, 229, 1) 86%,
17
+ rgba(216, 208, 196, 1) 100%
18
+ );
19
+ box-shadow: none;
20
+ border-radius: 3px;
21
+ &:not(:disabled) {
22
+ &:active,
23
+ &.active {
24
+ box-shadow: none;
25
+ background: linear-gradient(
26
+ 180deg,
27
+ rgba(205, 202, 195, 1) 0%,
28
+ rgba(227, 227, 219, 1) 8%,
29
+ rgba(229, 229, 222, 1) 94%,
30
+ rgba(242, 242, 241, 1) 100%
31
+ );
32
+ }
33
+ &:hover {
34
+ box-shadow: inset -1px 1px #fff0cf, inset 1px 2px #fdd889, inset -2px 2px #fbc761, inset 2px -2px #e5a01a;
35
+ }
36
+ }
37
+ &:focus,
38
+ &.focused {
39
+ box-shadow: inset -1px 1px #cee7ff, inset 1px 2px #98b8ea, inset -2px 2px #bcd4f6, inset 1px -1px #89ade4,
40
+ inset 2px -2px #89ade4;
41
+ }
42
+ &::-moz-focus-inner {
43
+ border: 0;
44
+ }
45
+ }
46
+
47
+ .start-button {
48
+ display: flex;
49
+ margin: 0;
50
+ padding: 0;
51
+ background-image: url("#{$icon-base-path}startbutton.webp");
52
+ background-repeat: no-repeat;
53
+ background-position: 0 -30px;
54
+ background-size: auto 90px;
55
+ height: 30px;
56
+ width: 85px;
57
+ align-items: center;
58
+ justify-content: center;
59
+
60
+ &:hover,
61
+ &.hover {
62
+ background-position: 0 0;
63
+ }
64
+
65
+ &:active,
66
+ &.active {
67
+ background-position: 0 -60px;
68
+ }
69
+
70
+ a {
71
+ cursor: inherit;
72
+ display: flex;
73
+ height: 24px;
74
+ font-family: Arial;
75
+ text-decoration: none;
76
+ -webkit-font-smoothing: antialiased;
77
+ font-style: italic;
78
+ font-size: 18px;
79
+ font-weight: bold;
80
+ color: #fff;
81
+ text-shadow: 0px 0px 4px #000;
82
+ user-select: none;
83
+ outline: none;
84
+ margin-right: 6px;
85
+ }
86
+ }
87
+
88
+ .start-button-icon {
89
+ display: block;
90
+ width: 18px;
91
+ height: 16px;
92
+ margin-top: -4px;
93
+ filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.8));
94
+ margin-right: 2px;
95
+ }
@@ -0,0 +1,241 @@
1
+ /*-------------------------------------------*\
2
+ Forms
3
+ \*-------------------------------------------*/
4
+
5
+ :root {
6
+ --checkmark-width: 11px;
7
+ --radio-dot-width: 5px;
8
+ --radio-dot-top: 5px;
9
+ --radio-width: 13px;
10
+ --radio-inner-shadow-hover: inset -2px -2px #f8b636, inset 2px 2px #fedf9c;
11
+ --radio-bg-active: linear-gradient(135deg, rgba(176, 176, 167, 1) 0%, rgba(227, 225, 210, 1) 100%);
12
+ --radio-bg: linear-gradient(135deg, rgba(220, 220, 215, 1) 0%, rgba(255, 255, 255, 1) 100%);
13
+ --radio-border: 1px solid #1d5281;
14
+ --radio-border-disabled: 1px solid #cac8bb;
15
+ }
16
+
17
+ label,
18
+ select,
19
+ input,
20
+ textarea,
21
+ option {
22
+ -webkit-font-smoothing: none;
23
+ }
24
+
25
+ select {
26
+ border: 1px solid #7f9db9;
27
+ background-image: svg-load("./icon/dropdown.svg");
28
+ background-size: 15px;
29
+ &:focus {
30
+ box-shadow: inset 2px 2px white, inset -2px -2px white;
31
+ }
32
+ &:hover {
33
+ background-image: svg-load("./icon/dropdown-hover.svg");
34
+ }
35
+ &:active {
36
+ background-image: svg-load("./icon/dropdown-active.svg");
37
+ }
38
+ }
39
+
40
+ input[type="radio"] {
41
+ appearance: none;
42
+ -webkit-appearance: none;
43
+ -moz-appearance: none;
44
+ margin: 0;
45
+ background: 0;
46
+ position: fixed;
47
+ opacity: 0;
48
+ border: none;
49
+ + {
50
+ label {
51
+ line-height: 16px;
52
+ &::before {
53
+ background: var(--radio-bg);
54
+ border-radius: 50%;
55
+ border: var(--radio-border);
56
+ }
57
+ }
58
+ }
59
+ &:not([disabled]):not(:active) {
60
+ + label {
61
+ &:hover:before {
62
+ box-shadow: var(--radio-inner-shadow-hover);
63
+ }
64
+ }
65
+ }
66
+ &:active {
67
+ + {
68
+ label {
69
+ &::before {
70
+ background: var(--radio-bg-active);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ &:checked {
76
+ + {
77
+ label {
78
+ &::after {
79
+ background: svg-load("./icon/radio-dot.svg");
80
+ }
81
+ }
82
+ }
83
+ }
84
+ &:focus {
85
+ + {
86
+ label {
87
+ outline: 1px dotted #000000;
88
+ }
89
+ }
90
+ }
91
+ }
92
+ input[type="radio"][disabled] {
93
+ + {
94
+ label {
95
+ &::before {
96
+ border: var(--radio-border-disabled);
97
+ background: white;
98
+ }
99
+ }
100
+ }
101
+ &:checked {
102
+ + {
103
+ label {
104
+ &::after {
105
+ background: svg-load("./icon/radio-dot-disabled.svg");
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
111
+ input[type="checkbox"] {
112
+ + label {
113
+ &:before {
114
+ box-shadow: none;
115
+ border: var(--radio-border);
116
+ background: var(--radio-bg);
117
+ }
118
+ }
119
+ &:checked + label {
120
+ &:after {
121
+ background: svg-load("./icon/checkmark.svg");
122
+ left: -17px;
123
+ }
124
+ }
125
+ &:not([disabled]):not(:active) {
126
+ + label {
127
+ &:hover:before {
128
+ box-shadow: var(--radio-inner-shadow-hover);
129
+ }
130
+ }
131
+ }
132
+ &:active {
133
+ + {
134
+ label {
135
+ &::before {
136
+ background: var(--radio-bg-active);
137
+ }
138
+ }
139
+ }
140
+ }
141
+ }
142
+
143
+ input[type="checkbox"][disabled] {
144
+ + {
145
+ label {
146
+ &::before {
147
+ background: white;
148
+ border: var(--radio-border-disabled);
149
+ }
150
+ }
151
+ }
152
+ &:checked {
153
+ + {
154
+ label {
155
+ &::after {
156
+ background: svg-load("./icon/checkmark-disabled.svg");
157
+ }
158
+ }
159
+ }
160
+ }
161
+ }
162
+
163
+ input[type="text"],
164
+ input[type="password"],
165
+ input[type="email"],
166
+ select {
167
+ height: 23px;
168
+ }
169
+
170
+ input::selection,
171
+ textarea::selection {
172
+ background: var(--dialog-blue);
173
+ color: white;
174
+ }
175
+
176
+ input[type="range"] {
177
+ &::-webkit-slider-thumb {
178
+ height: 21px;
179
+ width: 11px;
180
+ background: svg-load("./icon/indicator-horizontal.svg");
181
+ transform: translateY(-8px);
182
+ }
183
+ &::-moz-range-thumb {
184
+ height: 21px;
185
+ width: 11px;
186
+ border: 0;
187
+ border-radius: 0;
188
+ background: svg-load("./icon/indicator-horizontal.svg");
189
+ transform: translateY(2px);
190
+ }
191
+ &::-webkit-slider-runnable-track {
192
+ width: 100%;
193
+ height: 2px;
194
+ box-sizing: border-box;
195
+ background: #ecebe4;
196
+ border-right: 1px solid #f3f2ea;
197
+ border-bottom: 1px solid #f3f2ea;
198
+ border-radius: 2px;
199
+ box-shadow: 1px 0 0 white, 1px 1px 0 white, 0 1px 0 white, -1px 0 0 #9d9c99, -1px -1px 0 #9d9c99,
200
+ 0 -1px 0 #9d9c99, -1px 1px 0 white, 1px -1px #9d9c99;
201
+ }
202
+ &::-moz-range-track {
203
+ width: 100%;
204
+ height: 2px;
205
+ box-sizing: border-box;
206
+ background: #ecebe4;
207
+ border-right: 1px solid #f3f2ea;
208
+ border-bottom: 1px solid #f3f2ea;
209
+ border-radius: 2px;
210
+ box-shadow: 1px 0 0 white, 1px 1px 0 white, 0 1px 0 white, -1px 0 0 #9d9c99, -1px -1px 0 #9d9c99,
211
+ 0 -1px 0 #9d9c99, -1px 1px 0 white, 1px -1px #9d9c99;
212
+ }
213
+ }
214
+ input[type="range"].has-box-indicator {
215
+ &::-webkit-slider-thumb {
216
+ background: svg-load("./icon/indicator-rectangle-horizontal.svg");
217
+ transform: translateY(-10px);
218
+ }
219
+ &::-moz-range-thumb {
220
+ background: svg-load("./icon/indicator-rectangle-horizontal.svg");
221
+ transform: translateY(0px);
222
+ }
223
+ }
224
+ .is-vertical {
225
+ > input[type="range"] {
226
+ &::-webkit-slider-runnable-track {
227
+ border-left: 1px solid #f3f2ea;
228
+ border-right: 0;
229
+ border-bottom: 1px solid #f3f2ea;
230
+ box-shadow: -1px 0 0 white, -1px 1px 0 white, 0 1px 0 white, 1px 0 0 #9d9c99, 1px -1px 0 #9d9c99,
231
+ 0 -1px 0 #9d9c99, 1px 1px 0 white, -1px -1px #9d9c99;
232
+ }
233
+ &::-moz-range-track {
234
+ border-left: 1px solid #f3f2ea;
235
+ border-right: 0;
236
+ border-bottom: 1px solid #f3f2ea;
237
+ box-shadow: -1px 0 0 white, -1px 1px 0 white, 0 1px 0 white, 1px 0 0 #9d9c99, 1px -1px 0 #9d9c99,
238
+ 0 -1px 0 #9d9c99, 1px 1px 0 white, -1px -1px #9d9c99;
239
+ }
240
+ }
241
+ }
@@ -0,0 +1,60 @@
1
+ /*-------------------------------------------*\
2
+ Global
3
+ \*-------------------------------------------*/
4
+
5
+ ::-webkit-scrollbar {
6
+ width: 17px;
7
+ }
8
+ ::-webkit-scrollbar-corner {
9
+ background: var(--button-face);
10
+ }
11
+ ::-webkit-scrollbar-track {
12
+ &:vertical {
13
+ background-image: svg-load("./icon/scroll-background.svg");
14
+ }
15
+ &:horizontal {
16
+ background-image: svg-load("./icon/scroll-background-horizontal.svg");
17
+ }
18
+ }
19
+ ::-webkit-scrollbar-thumb {
20
+ background-position: center;
21
+ background-repeat: no-repeat;
22
+ background-color: #c8d6fb;
23
+ background-size: 7px;
24
+ border: 1px solid white;
25
+ border-radius: 2px;
26
+ box-shadow: inset -3px 0 #bad1fc, inset 1px 1px #b7caf5;
27
+ &:vertical {
28
+ background-image: svg-load("./icon/scroll-thumb.svg");
29
+ }
30
+ &:horizontal {
31
+ background-size: 8px;
32
+ background-image: svg-load("./icon/scroll-thumb-horizontal.svg");
33
+ }
34
+ }
35
+ ::-webkit-scrollbar-button {
36
+ &:vertical {
37
+ &:start {
38
+ height: 17px;
39
+ background-image: svg-load("./icon/scroll-arrow-up.svg");
40
+ }
41
+ &:end {
42
+ height: 17px;
43
+ background-image: svg-load("./icon/scroll-arrow-down.svg");
44
+ }
45
+ }
46
+ &:horizontal {
47
+ &:start {
48
+ width: 17px;
49
+ background-image: svg-load("./icon/scroll-arrow-left.svg");
50
+ }
51
+ &:end {
52
+ width: 17px;
53
+ background-image: svg-load("./icon/scroll-arrow-right.svg");
54
+ }
55
+ }
56
+ }
57
+
58
+ body {
59
+ font-size: var(--font-size);
60
+ }
@@ -0,0 +1,45 @@
1
+ /*-------------------------------------------*\
2
+ GroupBox
3
+ \*-------------------------------------------*/
4
+
5
+ fieldset {
6
+ border: none;
7
+ box-shadow: none;
8
+ background: white;
9
+ border: 1px solid #d0d0bf;
10
+ border-radius: 4px;
11
+ padding-top: 10px;
12
+ }
13
+ legend {
14
+ background: transparent;
15
+ color: #0046d5;
16
+ }
17
+ .field-row {
18
+ display: flex;
19
+ align-items: center;
20
+ > * {
21
+ + {
22
+ * {
23
+ margin-left: var(--grouped-element-spacing);
24
+ }
25
+ }
26
+ }
27
+ }
28
+ [class^="field-row"] {
29
+ + {
30
+ [class^="field-row"] {
31
+ margin-top: var(--grouped-element-spacing);
32
+ }
33
+ }
34
+ }
35
+ .field-row-stacked {
36
+ display: flex;
37
+ flex-direction: column;
38
+ * {
39
+ + {
40
+ * {
41
+ margin-top: var(--grouped-element-spacing);
42
+ }
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,156 @@
1
+ /*-------------------------------------------*\
2
+ ProgressBar
3
+ \*-------------------------------------------*/
4
+
5
+ @keyframes sliding {
6
+ 0% {
7
+ transform: translateX(-30px);
8
+ }
9
+ 100% {
10
+ transform: translateX(100%);
11
+ }
12
+ }
13
+
14
+ progress {
15
+ // Move all declarations to the top
16
+ box-sizing: border-box;
17
+ appearance: none;
18
+ -webkit-appearance: none;
19
+ -moz-appearance: none;
20
+ height: var(--track-height);
21
+ border: 1px solid #686868;
22
+ border-radius: 4px;
23
+ padding: 1px 2px 1px 0px;
24
+ overflow: hidden;
25
+ background-color: #fff;
26
+ -webkit-box-shadow: var(--track-shadow);
27
+ -moz-box-shadow: var(--track-shadow);
28
+ box-shadow: var(--track-shadow);
29
+
30
+ &,
31
+ &[value],
32
+ &:not([value]) {
33
+ --determinate-track: repeating-linear-gradient(
34
+ to right,
35
+ #fff 0px,
36
+ #fff 2px,
37
+ transparent 2px,
38
+ transparent 10px
39
+ ),
40
+ linear-gradient(
41
+ to bottom,
42
+ #acedad 0%,
43
+ #7be47d 14%,
44
+ #4cda50 28%,
45
+ #2ed330 42%,
46
+ #42d845 57%,
47
+ #76e275 71%,
48
+ #8fe791 85%,
49
+ #ffffff 100%
50
+ );
51
+ --indeterminate-track: repeating-linear-gradient(
52
+ to right,
53
+ transparent 0px,
54
+ transparent 8px,
55
+ #fff 8px,
56
+ #fff 10px,
57
+ transparent 10px,
58
+ transparent 18px,
59
+ #fff 18px,
60
+ #fff 20px,
61
+ transparent 20px,
62
+ transparent 28px,
63
+ #fff 28px,
64
+ #fff 100%
65
+ ),
66
+ linear-gradient(
67
+ to bottom,
68
+ #acedad 0%,
69
+ #7be47d 14%,
70
+ #4cda50 28%,
71
+ #2ed330 42%,
72
+ #42d845 57%,
73
+ #76e275 71%,
74
+ #8fe791 85%,
75
+ #ffffff 100%
76
+ );
77
+ --indeterminate-track-animation: sliding 2s linear 0s infinite;
78
+ --track-shadow: inset 0px 0px 1px 0px rgba(104, 104, 104, 1);
79
+ --track-height: 14px;
80
+ }
81
+
82
+ /* Determinate styles */
83
+ &[value] {
84
+ /* Chrome, Safari, Edge */
85
+ &::-webkit-progress-bar {
86
+ background-color: transparent;
87
+ }
88
+ &::-webkit-progress-value {
89
+ border-radius: 2px;
90
+ background: var(--determinate-track);
91
+ }
92
+ /* Firefox */
93
+ &::-moz-progress-bar {
94
+ border-radius: 2px;
95
+ background: var(--determinate-track);
96
+ }
97
+ }
98
+
99
+ /* Indeterminate styles */
100
+ &:not([value]) {
101
+ /* Apply for Chrome, Safari and Edge but animation only works in Safari */
102
+ &::-webkit-progress-bar {
103
+ width: 100%;
104
+ background: var(--indeterminate-track);
105
+ animation: var(--indeterminate-track-animation);
106
+ }
107
+
108
+ /* Solution for Chrome and Edge: animate pseudo element :after */
109
+ & {
110
+ position: relative;
111
+ }
112
+ /* This pseudo element is to hide the not working -webkit-progress-bar animation above for Chrome and Edge */
113
+ &::before {
114
+ box-sizing: border-box;
115
+ content: "";
116
+ position: absolute;
117
+ top: 0;
118
+ left: 0;
119
+
120
+ width: 100%;
121
+ height: 100%;
122
+
123
+ background-color: #fff;
124
+
125
+ -webkit-box-shadow: var(--track-shadow);
126
+ -moz-box-shadow: var(--track-shadow);
127
+ box-shadow: var(--track-shadow);
128
+ }
129
+ /* Real animated element */
130
+ &::after {
131
+ box-sizing: border-box;
132
+ content: "";
133
+ position: absolute;
134
+ top: 1px;
135
+ left: 2px;
136
+
137
+ width: 100%;
138
+ height: calc(100% - 2px);
139
+
140
+ padding: 1px 2px 1px 2px;
141
+
142
+ border-radius: 2px;
143
+
144
+ background: var(--indeterminate-track);
145
+ animation: var(--indeterminate-track-animation);
146
+ }
147
+
148
+ /* Firefox */
149
+ &::-moz-progress-bar {
150
+ width: 100%;
151
+ background: var(--indeterminate-track);
152
+ animation: var(--indeterminate-track-animation);
153
+ }
154
+ }
155
+ }
156
+
@@ -0,0 +1,56 @@
1
+ /*-------------------------------------------*\
2
+ Tabs
3
+ \*-------------------------------------------*/
4
+
5
+ :root {
6
+ --tab-bg: linear-gradient(180deg, rgba(252, 252, 254, 1) 0%, rgba(244, 243, 238, 1) 100%);
7
+ --tab-border: 1px solid #919b9c;
8
+ }
9
+
10
+ menu[role="tablist"] {
11
+ button {
12
+ background: linear-gradient(
13
+ 180deg,
14
+ rgba(255, 255, 255, 1) 0%,
15
+ rgba(250, 250, 249, 1) 26%,
16
+ rgba(240, 240, 234, 1) 95%,
17
+ rgba(236, 235, 229, 1) 100%
18
+ );
19
+ margin-left: -1px;
20
+ margin-right: 2px;
21
+ border-radius: 0;
22
+ border-color: #91a7b4;
23
+ border-top-right-radius: 3px;
24
+ border-top-left-radius: 3px;
25
+ padding: 0 12px 3px;
26
+ &:hover {
27
+ box-shadow: unset;
28
+ border-top: 1px solid #e68b2c;
29
+ box-shadow: inset 0px 2px #ffc73c;
30
+ }
31
+ &[aria-selected="true"] {
32
+ background: #fcfcfe;
33
+ border-color: #919b9c;
34
+ margin-right: -1px;
35
+ border-bottom: 1px solid transparent;
36
+ border-top: 1px solid #e68b2c;
37
+ box-shadow: inset 0px 2px #ffc73c;
38
+ &:first-of-type {
39
+ &::before {
40
+ content: "";
41
+ display: block;
42
+ position: absolute;
43
+ z-index: -1;
44
+ top: 100%;
45
+ left: -1px;
46
+ height: 2px;
47
+ width: 0;
48
+ border-left: var(--tab-border);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+ [role="tabpanel"] {
55
+ box-shadow: inset 1px 1px #fcfcfe, inset -1px -1px #fcfcfe, 1px 2px 2px 0px rgba(208, 206, 191, 0.75);
56
+ }
@@ -0,0 +1,9 @@
1
+ /*-------------------------------------------*\
2
+ TreeView
3
+ \*-------------------------------------------*/
4
+
5
+ ul.tree-view {
6
+ -webkit-font-smoothing: none;
7
+ border: 1px solid #7f9db9;
8
+ padding: 2px 5px;
9
+ }
@@ -0,0 +1,27 @@
1
+ /*-------------------------------------------*\
2
+ Variables
3
+ \*-------------------------------------------*/
4
+ $icon-base-path: "/icons/xp/";
5
+
6
+ :root {
7
+ --sans-serif: "Pixelated MS Sans Serif", Arial;
8
+ /* Color */
9
+ --surface: #ece9d8;
10
+ --button-highlight: #ffffff;
11
+ --button-face: #dfdfdf;
12
+ --button-shadow: #808080;
13
+ --window-frame: #0a0a0a;
14
+ --dialog-blue: #2267cb;
15
+
16
+ /* Borders */
17
+ --input-border-color: #789dbc;
18
+
19
+ /* Scroll bar */
20
+ --scrollbar-bg: linear-gradient(
21
+ 90deg,
22
+ rgba(197, 213, 255, 1) 0%,
23
+ rgba(181, 211, 255, 1) 86%,
24
+ rgba(182, 202, 247, 1) 100%
25
+ );
26
+ --scrollbar-shadow: inset 1px 1px white, inset -1px -1px white, inset 2px 2px #b9cdfa, inset -2px -2px #b6c9f7;
27
+ }