@tutti-os/workbench-surface 0.0.45 → 0.0.46
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.
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.workbench-surface {
|
|
17
|
+
--workbench-chrome-active-foreground: var(--foreground);
|
|
17
18
|
--workbench-chrome-inset-x: 0px;
|
|
18
19
|
--workbench-chrome-inset-y: 0px;
|
|
19
20
|
--workbench-mission-control-ease: cubic-bezier(0.22, 1, 0.36, 1);
|
|
@@ -34,6 +35,13 @@
|
|
|
34
35
|
isolation: isolate;
|
|
35
36
|
}
|
|
36
37
|
|
|
38
|
+
.workbench-surface[data-mission-control-phase="entering"],
|
|
39
|
+
.workbench-surface[data-mission-control-phase="open"],
|
|
40
|
+
.workbench-surface[data-presentation-mode="mission-control"] {
|
|
41
|
+
--workbench-chrome-active-foreground: var(--white-stationary);
|
|
42
|
+
--workbench-chrome-foreground: var(--white-stationary);
|
|
43
|
+
}
|
|
44
|
+
|
|
37
45
|
.workbench-surface__wallpaper {
|
|
38
46
|
position: absolute;
|
|
39
47
|
inset: 0;
|
|
@@ -497,60 +505,24 @@
|
|
|
497
505
|
transform var(--workbench-mission-control-scale-duration)
|
|
498
506
|
var(--workbench-mission-control-ease);
|
|
499
507
|
will-change: opacity, transform;
|
|
500
|
-
background:
|
|
501
|
-
|
|
502
|
-
110% 92% at 50% -4%,
|
|
503
|
-
rgb(255 255 255 / 0.14) 0%,
|
|
504
|
-
transparent 56%
|
|
505
|
-
),
|
|
506
|
-
linear-gradient(
|
|
507
|
-
180deg,
|
|
508
|
-
color-mix(
|
|
509
|
-
in srgb,
|
|
510
|
-
var(--workbench-surface-background) 54%,
|
|
511
|
-
rgb(255 255 255 / 10%)
|
|
512
|
-
)
|
|
513
|
-
0%,
|
|
514
|
-
color-mix(in srgb, var(--workbench-window-bg) 82%, var(--workbench-panel))
|
|
515
|
-
100%
|
|
516
|
-
);
|
|
517
|
-
box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.14);
|
|
508
|
+
background: rgb(0 0 0 / 60%);
|
|
509
|
+
box-shadow: none;
|
|
518
510
|
}
|
|
519
511
|
|
|
520
512
|
.workbench-mission-control-backdrop::before {
|
|
521
513
|
position: absolute;
|
|
522
514
|
inset: 0;
|
|
523
|
-
background:
|
|
524
|
-
linear-gradient(135deg, rgb(255 255 255 / 0.06), transparent 34%),
|
|
525
|
-
radial-gradient(
|
|
526
|
-
92% 84% at 18% 18%,
|
|
527
|
-
color-mix(in srgb, var(--workbench-panel) 22%, transparent) 0%,
|
|
528
|
-
transparent 48%
|
|
529
|
-
),
|
|
530
|
-
radial-gradient(
|
|
531
|
-
68% 54% at 82% 10%,
|
|
532
|
-
rgb(255 255 255 / 0.07),
|
|
533
|
-
transparent 44%
|
|
534
|
-
),
|
|
535
|
-
repeating-linear-gradient(
|
|
536
|
-
180deg,
|
|
537
|
-
rgb(255 255 255 / 0.018) 0,
|
|
538
|
-
rgb(255 255 255 / 0.018) 1px,
|
|
539
|
-
transparent 1px,
|
|
540
|
-
transparent 4px
|
|
541
|
-
);
|
|
515
|
+
background: none;
|
|
542
516
|
content: "";
|
|
543
|
-
opacity: 0
|
|
517
|
+
opacity: 0;
|
|
544
518
|
}
|
|
545
519
|
|
|
546
520
|
.workbench-mission-control-backdrop::after {
|
|
547
521
|
position: absolute;
|
|
548
522
|
inset: 0;
|
|
549
|
-
background:
|
|
550
|
-
linear-gradient(180deg, rgb(255 255 255 / 0.045), transparent 26%),
|
|
551
|
-
linear-gradient(0deg, rgb(255 255 255 / 0.025), transparent 36%);
|
|
523
|
+
background: none;
|
|
552
524
|
content: "";
|
|
553
|
-
opacity: 0
|
|
525
|
+
opacity: 0;
|
|
554
526
|
}
|
|
555
527
|
|
|
556
528
|
.workbench-mission-control-backdrop[data-phase="entering"],
|
|
@@ -87,6 +87,35 @@ test("mission control overlay lets layout controls sit above dialog overlays", (
|
|
|
87
87
|
);
|
|
88
88
|
});
|
|
89
89
|
|
|
90
|
+
test("mission control backdrop uses the shared dark scrim value", () => {
|
|
91
|
+
const css = readFileSync(resolve("src/styles/workbench.css"), "utf8");
|
|
92
|
+
|
|
93
|
+
assert.match(
|
|
94
|
+
css,
|
|
95
|
+
/\.workbench-surface\s*{[^}]*--workbench-chrome-active-foreground:\s*var\(--foreground\);/s
|
|
96
|
+
);
|
|
97
|
+
assert.match(
|
|
98
|
+
css,
|
|
99
|
+
/\.workbench-surface\[data-mission-control-phase="entering"\],[\s\S]*?\.workbench-surface\[data-presentation-mode="mission-control"\]\s*{[^}]*--workbench-chrome-active-foreground:\s*var\(--white-stationary\);[^}]*--workbench-chrome-foreground:\s*var\(--white-stationary\);/s
|
|
100
|
+
);
|
|
101
|
+
assert.match(
|
|
102
|
+
css,
|
|
103
|
+
/\.workbench-mission-control-backdrop\s*{[^}]*background:\s*rgb\(0 0 0 \/ 60%\);[^}]*box-shadow:\s*none;/s
|
|
104
|
+
);
|
|
105
|
+
assert.match(
|
|
106
|
+
css,
|
|
107
|
+
/\.workbench-mission-control-backdrop::before\s*{[^}]*background:\s*none;[^}]*opacity:\s*0;/s
|
|
108
|
+
);
|
|
109
|
+
assert.match(
|
|
110
|
+
css,
|
|
111
|
+
/\.workbench-mission-control-backdrop::after\s*{[^}]*background:\s*none;[^}]*opacity:\s*0;/s
|
|
112
|
+
);
|
|
113
|
+
assert.doesNotMatch(
|
|
114
|
+
css,
|
|
115
|
+
/\.workbench-mission-control-backdrop\s*{[^}]*var\(--workbench-surface-background\)/s
|
|
116
|
+
);
|
|
117
|
+
});
|
|
118
|
+
|
|
90
119
|
test("dialog popover node layer sits above dialog overlays and remains clickable", () => {
|
|
91
120
|
const css = readFileSync(resolve("src/styles/workbench.css"), "utf8");
|
|
92
121
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tutti-os/workbench-surface",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.46",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
"@tutti-os/config-tsconfig": "0.0.0"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@tutti-os/ui-i18n-runtime": "0.0.
|
|
38
|
-
"@tutti-os/ui-react-hooks": "0.0.
|
|
39
|
-
"@tutti-os/workbench-snapshot": "0.0.
|
|
40
|
-
"@tutti-os/ui-system": "0.0.
|
|
37
|
+
"@tutti-os/ui-i18n-runtime": "0.0.46",
|
|
38
|
+
"@tutti-os/ui-react-hooks": "0.0.46",
|
|
39
|
+
"@tutti-os/workbench-snapshot": "0.0.46",
|
|
40
|
+
"@tutti-os/ui-system": "0.0.46"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"react": "^19.1.0",
|