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,141 @@
1
+
2
+ @use "variables" as *;
3
+
4
+ /*-------------------------------------------*\
5
+ Window
6
+ \*-------------------------------------------*/
7
+
8
+ .window {
9
+ box-shadow: inset -1px -1px #00138c, inset 1px 1px #0831d9, inset -2px -2px #001ea0, inset 2px 2px #166aee,
10
+ inset -3px -3px #003bda, inset 3px 3px #0855dd;
11
+ border-top-left-radius: 8px;
12
+ border-top-right-radius: 8px;
13
+ padding: 0 0 3px 0;
14
+ -webkit-font-smoothing: none;
15
+ }
16
+
17
+ .window.inactive {
18
+ box-shadow: inset -1px -1px rgb(110, 121, 195),
19
+ inset 1px 1px rgb(90, 114, 214),
20
+ inset -2px -2px rgb(110, 127, 202),
21
+ inset 2px 2px rgb(105, 155, 233),
22
+ inset -3px -3px rgb(97, 130, 221),
23
+ inset 3px 3px rgb(122, 162, 235);
24
+ }
25
+
26
+ .title-bar {
27
+ font-family: "Trebuchet MS";
28
+ background: linear-gradient(180deg, #2c90ff 4%, #0055e5 12%, #0055ea 40%, #0364f9 65%, #036afe 90%, #0360fc 55%, #004de4 98%, #0043cf 100%);
29
+ padding: 3px 3px 2px 3px;
30
+ border-top: 1px solid #0831d9;
31
+ border-left: 1px solid #0831d9;
32
+ border-right: 1px solid #001ea0;
33
+ border-top-left-radius: 8px;
34
+ border-top-right-radius: 7px;
35
+ font-size: 13px;
36
+ text-shadow: 1px 1px #0f1089;
37
+ height: 24px;
38
+ }
39
+
40
+ .title-bar.inactive {
41
+ text-shadow: none;
42
+ filter: contrast(0.55) brightness(1.45) saturate(0.8);
43
+ }
44
+
45
+ .title-bar-text {
46
+ padding-left: 3px;
47
+ }
48
+
49
+ .inactive {
50
+ .title-bar-text {
51
+ opacity: 0.8;
52
+ }
53
+ }
54
+
55
+ .title-bar-controls {
56
+ display: flex;
57
+ button {
58
+ min-width: 22px;
59
+ min-height: 22px;
60
+ margin-left: 2px;
61
+ background-repeat: no-repeat;
62
+ background-position: center;
63
+ box-shadow: none;
64
+ cursor: inherit;
65
+ background-color: #0050ee;
66
+ transition: background 100ms;
67
+ border: none;
68
+ &:active,
69
+ &:hover,
70
+ &:focus {
71
+ box-shadow: none !important;
72
+ }
73
+ }
74
+ button[aria-label="Minimize"] {
75
+ background-image: url("#{$icon-base-path}minimize.svg");
76
+ &:hover {
77
+ background-image: url("#{$icon-base-path}minimize-hover.svg");
78
+ }
79
+ &:not(:disabled):active {
80
+ background-image: url("#{$icon-base-path}minimize-active.svg");
81
+ }
82
+ }
83
+ button[aria-label="Maximize"] {
84
+ background-image: url("#{$icon-base-path}maximize.svg");
85
+ &:hover {
86
+ background-image: url("#{$icon-base-path}maximize-hover.svg");
87
+ }
88
+ &:not(:disabled):active {
89
+ background-image: url("#{$icon-base-path}maximize-active.svg");
90
+ }
91
+ }
92
+ button[aria-label="Restore"] {
93
+ background-image: url("#{$icon-base-path}restore.svg");
94
+ &:hover {
95
+ background-image: url("#{$icon-base-path}restore-hover.svg");
96
+ }
97
+ &:not(:disabled):active {
98
+ background-image: url("#{$icon-base-path}restore-active.svg");
99
+ }
100
+ }
101
+ button[aria-label="Help"] {
102
+ background-image: url("#{$icon-base-path}help.svg");
103
+ &:hover {
104
+ background-image: url("#{$icon-base-path}help-hover.svg");
105
+ }
106
+ &:not(:disabled):active {
107
+ background-image: url("#{$icon-base-path}help-active.svg");
108
+ }
109
+ }
110
+ button[aria-label="Close"] {
111
+ background-image: url("#{$icon-base-path}close.svg");
112
+ &:hover {
113
+ background-image: url("#{$icon-base-path}close-hover.svg");
114
+ }
115
+ &:not(:disabled):active {
116
+ background-image: url("#{$icon-base-path}close-active.svg");
117
+ }
118
+ }
119
+ }
120
+
121
+ .status-bar {
122
+ margin: 0 3px;
123
+ box-shadow: inset 0px 1px 2px var(--button-shadow);
124
+ padding: 2px 1px;
125
+ gap: 0px;
126
+ }
127
+
128
+ .status-bar-field {
129
+ font-family: var(--sans-serif);
130
+ -webkit-font-smoothing: none;
131
+ box-shadow: none;
132
+ padding: 1px 2px;
133
+ border-right: 1px solid rgba(208, 206, 191, 0.75);
134
+ border-left: 1px solid rgba(255, 255, 255, 0.75);
135
+ &:first-of-type{
136
+ border-left: none;
137
+ }
138
+ &:last-of-type {
139
+ border-right: none;
140
+ }
141
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * XP theme for GUI.css
3
+ * Copyright (c) 2025 Aron Homberg <info@aron-homberg.de>
4
+ * Copyright (c) 2020 Adam Hammad <adamham.dev>
5
+ * Based on 98.css by Jordan Scales <thatjdanisso.cool>
6
+ * https://github.com/botoxparty/XP.css/blob/main/LICENSE
7
+ */
8
+
9
+ @forward "_variables.scss";
10
+ @forward "_global.scss";
11
+ @forward "_window.scss";
12
+ @forward "_buttons.scss";
13
+ @forward "_forms.scss";
14
+ @forward "_groupbox.scss";
15
+ @forward "_tabs.scss";
16
+ @forward "_treeview.scss";
17
+ @forward "_progressbar.scss";
18
+
package/dist/xp.scss ADDED
@@ -0,0 +1,4 @@
1
+ // Import all SCSS files from the scss directory
2
+ // This ensures all styles are available when the package is imported
3
+
4
+ @forward 'themes/xp';
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "defuss-desktop",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "license": "MIT",
9
+ "description": "A window manager to create desktop environments in the browser.",
10
+ "keywords": [
11
+ "window",
12
+ "manager",
13
+ "desktop",
14
+ "environments",
15
+ "browser"
16
+ ],
17
+ "repository": {
18
+ "url": "git+https://github.com/kyr0/defuss.git",
19
+ "type": "git"
20
+ },
21
+ "scripts": {
22
+ "clean": "rm -rf ./dist && rm -rf ./node_modules/.pnpm",
23
+ "pretest": "pnpm run build",
24
+ "prebuild": "pnpm run clean",
25
+ "build": "pkgroll",
26
+ "postbuild": "npm run copy-scss",
27
+ "copy-scss": "mkdir -p dist/scss dist/themes && cp index.scss dist/ && cp xp.scss dist/ && cp -r scss/* dist/scss/ && cp -r themes/* dist/themes/",
28
+ "test": "vitest --run --coverage"
29
+ },
30
+ "author": "Aron Homberg <info@aron-homberg.de>",
31
+ "sideEffects": false,
32
+ "exports": {
33
+ ".": {
34
+ "require": {
35
+ "types": "./dist/index.d.cts",
36
+ "default": "./dist/index.cjs"
37
+ },
38
+ "import": {
39
+ "types": "./dist/index.d.mts",
40
+ "default": "./dist/index.mjs"
41
+ }
42
+ },
43
+ "./xp": "./xp.scss",
44
+ "./index": "./index.scss"
45
+ },
46
+ "main": "./dist/index.cjs",
47
+ "module": "./dist/index.mjs",
48
+ "types": "./dist/index.d.cts",
49
+ "files": [
50
+ "dist"
51
+ ],
52
+ "engines": {
53
+ "node": "^18.17.1 || ^20.3.0 || >=21.0.0"
54
+ },
55
+ "dependencies": {
56
+ "defuss": "^2.1.10",
57
+ "defuss-runtime": "^1.2.1",
58
+ "defuss-transval": "^1.3.0"
59
+ },
60
+ "devDependencies": {
61
+ "@vitest/coverage-v8": "^4.0.17",
62
+ "lightningcss": "^1.30.2",
63
+ "pkgroll": "^2.21.5",
64
+ "tsx": "^4.21.0",
65
+ "typescript": "^5.9.3",
66
+ "vitest": "^4.0.17"
67
+ }
68
+ }